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

4) (clear) Очистка – эта процедура очистки экрана.

5) (cursor) Установка курсора в заданное место

6) (cod) Вычисление порядкового символа производиться перевод в ASCII код

7) (decod) Обратная процедура перевода

8) (error) Обработка ошибок– процедура вывода ошибки при делении на 0

9) (zf) Процедура вывода положительного значения функции и увеличения x на h.

Значение функции Y=

Основное тело программы определено:

begin:

……………

END begin

Текст программы приведён в приложении В.

7 Отладка программы

Отладка и тестирование проводились встроенными средствами интегрированной среды программирования с помощью Turbo Debuger (TD.EXE)

После создания программы возникла необходимость исправить синтаксические и лексические ошибки. Нахождение ошибок осуществлялось попыткой запустить программу, при этом система показывала номер строки ошибки и выводила код данной ошибки. Исправление синтаксических и лексических ошибок осуществлялось при помощи пункта меню Debug, а также с помощью литературы, приведённой в разделе пояснительной записки

Список литературы. После исправления синтаксических ошибок, средствами Отладки, производилась проверка всех путей алгоритма, посредством ввода разнообразных, тестирующих данных. После устранения всех ошибок и недочётов, программа стала отвечать требованиям задания курсового проекта. Дальнейшая отладка и тестирование программы на этом прекратилось.

8 Описание языка программирования

В задании на курсовое проектирование в качестве языка программирования указан язык Ассемблер. Язык Ассемблера – это язык программирования низкого уровня, приближенный к системе команд процессора ЭВМ.

Турбо Ассемблер фирмы Borland представляет собой многопроходный ассемблер с разрешением опережающих ссылок, скоростью ассемблирования до 48000 строк в минуту (на компьютере IBM PS/2, модель 60), совместимый с макроассемблером фирмы Microsoft MASM и дополнительной возможностью использования режима расширенного синтаксиса Ideal. Независимо от вашего опыта в программировании вы, несомненно, оцените эти особенности, а также ряд других средств, которые значительно облегчают программирование на Ассемблере. Турбо Ассемблер является мощным ассемблером, работающим с командной строкой, который воспринимает ваши исходные файлы (файлы с расширением .ASM) и создает из них объектные модули (файлы с расширением .OBJ). После этого вы можете использовать программу-компоновщик фирмы Borland TLINK.EXE, отличающуюся высокой скоростью компоновки, для компоновки полученных объектных модулей и создания выполняемых файлов (файлов с расширением .EXE).

Требования к программному и аппаратному обеспечению

Турбо Ассемблер работает на компьютерах семейства IBM PC, включая модели XT, AT и PS/2, а также на полностью совместимых с ними компьютерах. Для работы Турбо Ассемблера требуется операционная система MS-DOS (версии 2.0 или более поздняя) и не менее 256К оперативной памяти.

Турбо Ассемблер генерирует инструкции процессоров 8086, 80186, 80286, 80386 и i486, а также инструкции с плавающей точкой для арифметических сопроцессоров 8087, 80287 и 80387. (Подробнее об инструкциях процессором семейства 80х86/80х87 рассказывается в книгах фирмы Intel.)

Поддержка DPMI

Турбо Ассемблер поддерживает спецификацию Интерфейса защищенного режима DOS (DOS Protected Mode Interface - DPMI). Будучи разработанным комитетом ведущих компаний-производителей программного и аппаратного обеспечения (включая Borland), DPMI определяет стандартный интерфейс, полностью использующий преимущества средств защищенного режима процессоров 80286, 386 и i486.

По мере увеличения числа компьютеров на базе процессоров 386 и i486 растет и число программных продуктов, использующих возможности этих процессоров. Защищенный и виртуальный 8086 режимы данных процессоров означают изменение самого вычислительного процесса. Теперь мы можем использовать многозадачный режим и средства расширенной памяти. Раньше организация работы прикладной программы, использующей расширенную память, в многозадачном режиме с другим программным обеспечением представляла собой проблему. Стандарт DPMI решает эту проблему. Прикладные программы, использующие расширенную память, разработанные в стандарте DPMI, будут надежно работать в многозадачных системах.

В настоящее время Турбо Ассемблер использует сервисные средства DPMI, предлагаемые Microsoft Windows. Турбо Ассемблер может работать в операционной среде, использующей средства DPMI. Если вы решите перейти на новую операционную среду, в которой эти сервисные средства доступны, то ваши затраты на программное обеспечение себя оправдают.

Примечание: Стандарт DPMI поддерживает версия Турбо Ассемблера TASMX.EXE.

Известно, что программы, выполняемые под управлением MS-DOS, могут быть одного из двух типов: COM или EXE. Основное различие этих типов заключается в том, что программы типа COM состоят из единственного сегмента памяти, в котором размещаются программные коды, данные и стек, то есть программа этого типа не может занимать объем памяти более 64 Кбайт. Программы типа ЕХЕ не ограничены по объему памяти и для хранения программных кодов, данных и стека используют разные сегменты памяти. В формате СОМ пишутся специфические программы (обработчики прерываний, резидентные программы).

9 Руководство системного программиста

Программа написана в виде com модуля. Имеет в себе следующие процедуры

Clear, cursor, oput, inp, error, zf, cod, decod.

Опишем принцип работы программы

Вывод сообщения о начале работы программы:

mov dx,0000h ;в регистр dx заносим координаты курсора (0 строка)

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

lea dx,T0 ;загружаем подсказку (сообщение о разработчике)

call oput ;вызов процедуры вывода на экран

и т.д. нужное количество раз со смещением курсора вниз.

Аналогично производится ввод для B, C, x, y, h

Вычисление функции производится с использованием команд SUB, MUL, DIV, запись переменных и временных результатов осуществляется командой

Опишем подробнее процедуры, применяющиеся в программе

1. Процедура очистки экрана:

clear proc ;процедура очистки экрана

mov AH,6h ;переносим в регистр AH 06h

mov BH,07h ;переносим в регистр BH 07h

mov CX,0000h ;переносим в регистр CX 0000h

mov DX,184fh ;переносим в регистр DX 184fh

int 10h ;прерывание BIOS

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

clear endp

2. Процедура установки курсора:

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

mov AH,2h ;переносим в регистр AH 2h

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

int 10h ;прерывание BIOS

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

cursor endp

3. Процедура вывода:

oput proc ;процедура вывода

mov AH,09h ;переносим в регистр AH 09h

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

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

oput endp

4. Процедура перевода введённого значения с клавиатуры.

cod proc ;процедура перевода введённого значения с клавиатуры


Страница: