Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_Arkhitektura_EVM.doc
Скачиваний:
9
Добавлен:
26.02.2016
Размер:
189.95 Кб
Скачать

Практическая работа №4 « Псевдооператоры»

Цель работы: Отработка и выполнение на компьютере навыков применения псевдооператоров и директив определения сегментов при создании программ на языке Ассемблера.

Материально-техническое оснащение:

ПК, текстовый редактор, служебные программы Tasm.exe, Tlink.exe, TD.exe.

Теория.

Оператором (строкой ) исходной программы может быть или команда, или псевдооператор языка Ассемблера. Псевдооператоры управляют работой Ассемблера, а не микропроцессора.

Наиболее распространенные псевдооператоры – псевдооператоры данных. Они делятся на следующие функциональные группы:

  • Псевдооператоры определения идентификаторов - EQU и =

  • Псевдооператоры определения данных – DB, DW, DD

  • Псевдооператоры внешних ссылок – Public, Extrn, Include

  • Псевдооператоры определения сегмента/ процедуры – Segment, Assume, Proc

  • Псевдооператоры управления трансляцией – End

Cуществуют также упрощенные директивы (псевдооператоры) определения сегментов:

Dosseg

.Model

.Stack

.Data

.Code

Ход работы.

  1. Задача. Создать программу в которой:

  • предусмотреть несколько сегментов;

  • зарезервировать в памяти: 10 байт значением 55h, 10 байт неизвестным значением, 10 слов значением 1122h, 1 байт постоянным значением 33h;

  • вывести на экран сообщение об ошибке;

  • использовать псевдооператор трансляции.

  1. Получите исполняемый модуль.

  2. Проверьте правильность работы программы, запустив ее из отладчика.

  3. В Turbo Debugger’е просмотрите сегмент данных через Dump памяти, прежде загрузив DS из пошагового режима.

Заключение.

  1. Запишите созданную программу в свой каталог на диске и в тетрадь.

  2. Обобщите все возникшие в процессе создания программы ошибки.

Контрольные вопросы.

  1. Чем отличаются псевдооператоры EQU и = ?

  2. Какие действия выполняет псевдооператор Include?

  3. Какие действия выполняет псевдооператор Extrn?

  4. Какие действия выполняет псевдооператор Public?

Литература.

1. Л. Скэнлон Персональные ЭВМ IBM PC XT. Программирование на языке ассемблера. М, Радио и связь, 1989 г.

2. В.Юров, С.Хорошенко. Ассемблер: учебный курс - СПб:ПитерКом,1999г.

3. Я. Белецкий Турбо Ассемблер версия 2.0, М, Машиностроение, 1994 г.

4. Под ред. И.Ю. Жукова Ассемблер в задачах защиты информации. М, КУДИЦ-ОБРАЗ, 2002 г.

Практическая работа №5 « Режимы адресации операндов»

Цель работы: Отработка навыков применения режимов адресации операндов при создании программ.

Материально-техническое оснащение:

ПК, текстовый редактор, служебные программы Tasm.exe, Tlink.exe, TD.exe.

Теория.

Микропроцессор 8088 предоставляет множество способов адресации операндов. Можно выделить семь режимов адресации:

  1. Прямая адресация

  • Применяется, если операндом служит метка:

mov Table,ax

  1. Непосредственная адресация

  • в качестве операнда выступает непосредственное значение:

mov al,55

  1. Регистровая адресация

  • микропроцессор извлекает операнд из регистра или загружает его в регистр:

mov cl,al

  1. Косвенная регистровая адресация

  • Исполнительный адрес операнда содержится в базовом регистре BX, регистре указателя базы BP или индексном регистре (DI, SI). Косвенные регистровые операнды заключаются в квадратные скобки:

mov [bx],al

  1. Адресация по базе

  • Исполнительный адрес вычисляется как сложение значения сдвига с содержимым регистров BX или BP:

mov ax,es:[bp]+4

  1. Адресация по базе с индексированием

  • характеризуется присутствием базового регистра BX или указателя базы BP, а также наличием индексного регистра:

mov [bx+di], al

  1. Прямая адресация с индексированием

  • характеризуется наличием метки переменной и индексного регистра:

mov Table[si],al

Ход работы.

1. Задача. Создать программу в которой:

  • переслать в память число10h методом непосредственной адресации

  • переслать в память число 55h методом регистровой адресации

  • переслать в память число 10 методом адресации по базе

  • переслать в память число 12 методом прямой адресации с индексированием

  • переслать из памяти в память число 12 методом прямой адресации

Каждый раз пересылку осуществляйте в последующую ячейку памяти.

  1. Получите исполняемый модуль.

  2. Проверьте правильность работы программы, запустив ее из отладчика.

  3. В Turbo Debugger’е просмотрите сегмент данных через Dump памяти, прежде загрузив DS в пошаговом режиме.

Заключение.

  1. Запишите созданную программу в свой каталог на диске и в тетрадь.

  2. Обобщите все возникшие в процессе создания программы ошибки.

Контрольные вопросы.

  1. Какие режимы адресации используются в следующих командах? (запишите около каждой строки исходного текста):

Mov ax,[bx+6]

Mov ax,offset Fix

Mov ah,4ch

Mov ds,ax

Mov Fix[di],bx

Int 21h

Mov ax,[es:bp+si+8]

Литература.

1. Л. Скэнлон Персональные ЭВМ IBM PC XT. Программирование на языке ассемблера. М, Радио и связь, 1989 г.

2. В.Юров, С.Хорошенко. Ассемблер: учебный курс - СПб:ПитерКом,1999г.

3. Я. Белецкий Турбо Ассемблер версия 2.0, М, Машиностроение, 1994 г.

4. Под ред. И.Ю. Жукова Ассемблер в задачах защиты информации. М, КУДИЦ-ОБРАЗ, 2002 г.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]