русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Cod ends


Дата добавления: 2014-11-27; просмотров: 793; Нарушение авторских прав


end my

 

Текст программы может содержать, если необходимо, пояснения, написанные в соответствии с правилами языка ASSEMBLER, т.е. пояснению предшествует символ ";". Далее написанную программу необходимо откомпилировать, что и делаем с помощью программы Tasm. Формат вызова следующий:

Tasm.exe prog1.asm

Если всё сделано верно и программа не содержит ошибок, то после окончания работы программы tasm получим объектный файл prog1.obj . Если текст программы содержал ошибки, то после завершения работы программы они будут указаны в окне с указанием строк, содержащих ошибки. После устранения ошибок действия по получению объектного файла Prog1.obj необходимо повторить. Далее для получения исполняемого файла Prog1.exe необходимо воспользоваться программой Link.exe, преобразующей нашу программу в двоичные коды, понятные микропроцессору. Формат вызова следующий:

Link.exe prog1.obj

После окончания работы программы Link получим исполняемый файл prog1.exe. Для отладки нашей программы запустим её в Turbo Debugger. Для этого в командной строке набираем:

Td.exe prog1.exe

В результате получаем на экране следующее изображение:

Ё File Edit View Run Breakpoints Data Options Window Help READY

+-[_]-CPU 80486-----------------------------------ss:0054 = 00--------1-[][]-+

¦ cs:0100804B5402 or byte ptr [bp+di+54],02 ‑ ax 0000 ¦c=0¦

¦ cs:0104 5A pop dx _ bx 0000 ¦z=0¦

¦ cs:0105 A012D5 mov al,[D512] _ cx 0000 ¦s=0¦

¦ cs:0108 0096A804 add [bp+04A8],dl _ dx 0000 ¦o=0¦

¦ cs:010C B540 mov ch,40 _ si 0000 ¦p=0¦

¦ cs:010E 25AA01 and ax,01AA _ di 0000 ¦a=0¦

¦ cs:0111 2D5009 sub ax,0950 _ bp 0000 ¦i=1¦

¦ cs:0114 6A80 push FF80 _ sp 0080 ¦d=0¦

¦ cs:0116 4B dec bx _ ds 5FD3 ¦ ¦

¦ cs:0117 54 push sp _ es 5FD3 ¦ ¦

¦ cs:0118 025AA0 add bl,[bp+si-60] _ ss 5FD3 ¦ ¦



¦ cs:011B 12D5 adc dl,ch _ cs 5FD3 ¦ ¦

¦ cs:011D 0096A804 add [bp+04A8],dl _ ip 0100 ¦ ¦

¦ cs:0121 B540 mov ch,40 _ ¦ ¦

¦ cs:0123 25AA01 and ax,01AA ­ ¦ ¦

¦___________________________________________________________+----------------¦

¦ ds:0000 CD 20 00 A0 00 9A F0 FE - а ЪЁ_ ¦ ss:0082 0000 ¦

¦ ds:0008 1D F0 72 1E C7 FD CC 0A Ёr‑¦¤¦ ¦ ss:00800D00 ¦

¦ ds:0010 A2 18 80 02 24 27 92 18 вА[1]$'Т ¦ ss:007E 0000 ¦

¦ ds:0018 01 01 01 00 02 07 08 FF [1]_ ¦ ss:007C 0000 ¦

¦ ds:0020 FF FF FF FF FF FF FF FF ________ ¦ ss:007A 0000 ¦

+------------------------------------------------------------------------------+

F1-Help F2-Bkpt F3-Mod F4-Here F5-Zoom F6-Next F7-Trace F8-Step F9-Run F10-Menu

По мере исполнения программы по шагам (клавиша F7), содержимое верхнего окна, содержащего коды нашей программы, будет изменяться. После приглашения программы ввести элементы массивов, следует ввести эти элементы в таком порядке:

Input 6 member of mas1

123456 ; и нажать клавишу <Enter>

Input 6 member of mas2

123356; и нажать клавишу <Enter>

После ввода каждого элемента массива содержимое DS:0000 будет изменяться. Для просмотра этих изменений достаточно нажать комбинацию клавиш CTRL+G, и в появившемся окне указать в GOTO необходимый адрес: DS:0000.

Выполняя программу далее по шагам, можно пронаблюдать изменение флагов, содержимого регистров и т.д. В конце выполнения программы на экране получим результат:

Выход из программы td осуществляется комбинацией клавиш Alt+X.


ПРИЛОЖЕНИЕ 3

КЛЮЧИ КОМАНДНОЙ СТРОКИ TASM И TLINK

 

П.3.1. Ключи командной строки TASMa.

Общий вид командной строки выглядит следующим образом:

TASM [параметры] исх_файл [,объект_файл] [,листинг] [,пер_ссылки]

Точка с запятой после левой квадратной скобки позволяет вам в одной командной строке ассемблировать несколько групп файлов.

По желанию вы можете задать для каждой группы файлов различные параметры, например:

TASM /e FILE1; /a FILE2

Здесь файл FILE1.ASM ассемблируется с параметром командной строки /e, а файл FILE2.ASM - с параметром командной строки /a.

Именем файла может быть отдельное имя файла, либо вы можете использовать обычные трафаретные символы DOS * и ? для задания группы ассемблируемых файлов. Если расширение имени файла не указано, Турбо Ассемблер использует расширение .ASM.

Ниже указаны наиболее часто используемые ключи (параметры) (табл.П.3.1).

Таблица П.3.1. Ключи TASMа.

/e,/r Эмулируемые или действительные инструкции с плавающей точкой § Параметр /E указывает Турбо Ассемблеру, что нужно генерировать инструкции работы с плавающей точкой, которые будут выполняться с помощью программного обеспечения (эмулятора операций с плавающей точкой). § Параметр /R изменяет действие данного параметра на обратное, разрешая ассемблирование действительных инструкций с плавающей точкой, которые могут выполняться арифметическим сопроцессором.
/l,/la Генерация листинга: l=обычный листинг, la=расширенный § Файл листинга не будет создан, пока вы в явном виде не запросите его создание. Чтобы запросить листинг, поместите после имени объектного файла запятую и за ней имя файла листинга. Если не задать имя файла листинга явно, Турбо Ассемблер создаст этот файл с тем же именем, что и у исходного файла, и расширением .LST. Если же вы задали имя файла листинга, но без расширения, к имени будет прибавлено расширение .LST. § Параметр /L указывает, что вы хотите создать файл листинга, даже если вы его не задаете в командной строке явно. Файл листинга имеет то же имя, что и исходный файл, и расширение .LST. § Параметр /LA указывает Турбо Ассемблеру, что в файле листинга нужно отразить весь генерируемый код, включая код, который генерируется в результате директивы языка высокого уровня .MODEL.
/zi,/zd,/zn Информация об идентификаторах для отладки: zi=полная, zd=только о номерах строк, zn=отсутствует. § Параметр /ZD приводит к тому, что Турбо Ассемблер будет помещать в объектные файлы информацию о номерах строк. Это позволяет автономному отладчику фирмы Borland (Турбо отладчику) выводить на экран текущее место в исходном коде, но не позволяет ему осуществлять доступ к элементам данных. § Параметр /ZI указывает Турбо Ассемблеру, что в объектный файл нужно вывести полную информацию для отладки. Эта информация включает в себя записи о номерах строк (для синхронизации вывода на экран исходного текста) и информацию о типах данных, позволяющую модифицировать и проверить данные программы. Параметр /ZI позволяет вам использовать все средства Турбо отладчика для прохождения программы и проверки и изменения элементов данных. § Параметр /zn указывает Турбо Ассемблеру, что информацию для отладки в объектный файл выводить не нужно.
/h,/? Вывод справочной информации

 

 



<== предыдущая лекция | следующая лекция ==>
Практическая работа на ПК | Приклади задач лінійного програмування


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.088 сек.