Разработка ассемблерной программы вычисления специальной функции
Рефераты >> Программирование и компьютеры >> Разработка ассемблерной программы вычисления специальной функции

;в соответствующий ей по номеру порядковый символ ASCII

;для удобства вычислений (см. таб. ASCII)

xor ax,ax ;обнуление регистра AX

mov cods,ax ;чистим переменную decods

mov cx,10 ;заносим в регистр CX значение 10

cd: mov al,[si+bx] ;выбор ASCII - символа

and AX,000fh ;удаление 3 (AL&0Fh)

mul mn ;умножение на множитель для преобразования

add cods,ax ;добавление к полученному результату

mov ax,mn ;вычисление следующего значения множителя

mul cx ;умножение AX на CX

mov mn,ax ;запись в переменную mn значения AX

dec bx ;если не последняя цифра, то - продолжать

jnz cd ;переход по метке cd если не ноль

xor ax,ax ;обнуление регистра AX

mov ax,mn ;записываем в регистр множитель

mov mn,1 ;записываем 1 в переменную mn

ret ;выход из процедуры

cod endp ;результат после выхода из процедуры в cods

5. Процедура ввода:

inp proc ;процедура ввода

mov AH,0ah ;переносим в регистр AH 0ah

int 21h ;прерывание DOS

ret ;выход из процедуры

inp endp

6. Процедура вывода значения функции и увеличения x на h.

zf proc

mov dx,cur ;устанавливаем координаты курсора

call cursor ;вызов процедуры установки курсора

lea dx,t13 ;указываем ссылку на сообщение

call oput ;вызываем процедуру вывода

mov ax,rezf ;записываем в ax результат функции

call decod ;вызов процедуры обратного перевода

mov ax,cur ;записываем в ах координаты курсора

add ax,0015h ;смещаем в право на 15

mov cuy,ax ;сохраняем новое значение курсора для вывода значения функции

mov dx,cuy ;записываем в dх координаты курсора

call cursor ;вызов процедуры установки курсора

lea dx,ascii ;заносим в dx адрес значения функции

call oput ;вызываем процедуру вывода

mov cuy,0 ;обнуляем значение курсора для вывода значения функции

mov ax,xni ;значение x

add ax,hk ;x+h

mov xni,ax ;сохраняем новое значение x

ret

zf endp

7. Процедура обратного перевода.

decod proc ;процедура перевода результата представленного в

;символах кода ASCII,

;в форму приемлемую для вывода (в виде чисел)

mov ascii,0 ;записываем 0 в переменную asc

mov cx,10 ;заносим в регистр CX значение 10

lea si,ascii+4 ;заносим в регистр si значение asc смещенное на 4

dcd2: cmp ax,10 ;сравниваем значение в регистре AX с 10

jb dcd1 ;если в АХ число меньше 10, то - выход

xor dx,dx ;обнуление

div cx ;деление содержимого AX на 10; остаток - в DL

or dl,30h ;формирование кода ASCII очередной цифры

mov [si],dl ;сохранение ASCII - символа

dec si ;декремент si-1

jmp dcd2 ;переход на dcd2

dcd1: or al,30h ;формирование кода ASCII последней (старшей) цифры

mov [si],al ;сохранение ASCII - символа

ret ;выход из процедуры

decod endp

8. Процедура обработки ошибки

error proc ;ошибка при делении на 0

mov dx,0D00h ;указываем координаты курсора

call cursor ;вызов процедуры установки курсора

lea dx,t14 ;указываем ссылку на сообщение

call oput ;вызываем процедуру вывода

mov ah,0ah ;считываем ввод

lea dx,pause ;записываем в регистр

int 21h

jmp exit

ret

error endp

10 Руководство оператора

Программа состоит из запускного KR.COM файла, в дистрибутив также включены файлы TASM.EXE, TD.EXE, TLINK.EXE, KR.asm и поставляется на любом носителе. Также идет исходный текст программы, который можно скомпилировать в тот же com файл.

Делается это так : набирается в командной строке

tasm.exe KR.asm /w0 /m9

tlink.exe KR.obj /t

Результатом работы данных программ является запускной com файл KR.COM.

Для запуска программы необходимо нажать ENTER на файле KR.COM.

Результатом выполнения программы будет:

Вывод текстового сообщения об авторах программы, и реализуемой с помощью нее функции, а также предложение о вводе необходимых переменных. После ввода всех данных программа выводит конечный результат. Для выхода из программы необходимо нажать ENTER.

11 Заключение

Итогом данной курсовой работы стала программа вычисления специальной функции. Программа соответствует всем требованиям, предъявленным в данном курсовом проектировании.

12 Список литературы

1. Абель П. Язык программирования для IBM PC и программирования.-

М.: Выс. шк., 1992.

2. Бек Л. Введение в системное программирование. - М.: Мир, 1988.

3. Бредли Л. Программирование на языке ассемблера для ПЭВМ фирмы

IBM. - М.: Радио и связь, 1988.

4. Брябрин В.М. Программное обеспечение ПЭВМ. - М.: Наука, 1988.

5. ГОСТ 2.104-68. ЕСКД. Основные надписи.

6. ГОСТ 2.105-79. ЕСКД. Общие требования к текстовым документам.

7. ГОСТ 2.106-68. ЕСКД. Текстовые документы.

8. ГОСТ 2.301-68. ЕСКД. Форматы.

9. ГОСТ 2.303-68. ЕСКД. Линии.

10. ГОСТ 2.304-68. ЕСКД. Шрифты чертежные.

11. ГОСТ 19.101-77. ЕСПД. Виды программ и программных документов.

12. ГОСТ 19.103-77. ЕСПД. Обозначения программ и программных до-

кументов.

13. ГОСТ 19.105-78. ЕСПД. Общие требования к программным докумен-

там.

14. ГОСТ 19.401-78. ЕСПД. Текст программы.

15. ГОСТ 19.402-78. ЕСПД. Описание программы.

16. ГОСТ 19.502-78. ЕСПД. Описание применения.

17. ГОСТ 19.503-79. ЕСПД. Руководство системного программиста.

18. ГОСТ 19.504-79. ЕСПД. Руководство программиста.

19. ГОСТ 19.505-79. ЕСПД. Руководство оператора.

20. ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов, программ, данных и

систем. Условные обозначения и правила выполнения. - М.: Издательст-

во стандартов, 1991.

21. Грис Д. Конструирование компиляторов для ЦВМ. - М.: Мир,

1975.

22. Дао Л. Программирование микропроцессора 8088. - М.: Мир,

1988.

23. Джордейн Р. Справочник программиста персональных компьютеров

типа IBM PC, XT и AT.- М.: Финансы и статистика, 1991.

24. Зуев Е.А. Язык программирования Turbo Pascal 6.0. - М.: Уни-

тех, 1992.

25. Йенсен К., Вирт Н. Паскаль: руководство для пользователя. -

М.: Финансы и статистика, 1989.

26. Льюис Ф., Розенкранц Д., Стирнз Р. Теоретические основы

проектирования компиляторов. - М.: Мир, 1980.

27. Лю Ю-Чжен, Гибсон г. Архитектура, программирование и проек-

тирование микрокомпьютерных систем. - М.: Радио и связь, 1987.

28. Нортон П. Персональный компьютер фирмы IBM и операционная

система MS DOS. - М,: Радио и связь, 1991.

29. Нортон П. Справочное руководство по MS DOS. - М.: Радио и

связь, 1992.

30. РД40.РСФСР-050-87. Проекты (работы) дипломные и курсовые.

Правила оформления. Руководящий нормативный документ.

31. Скляров В.А. Применение ПЭВМ. В 3 кн. Кн.1. Организация и уп-

равление ресурсами ПЭВМ. Кн.2. Операционные системы ПЭВМ : Практич.

пособие. - М.: Выс. шк., 1992.

32. Скэнлон Л. Персональные ЭВМ IBM PC и XT. Программирование на


Страница: