Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


END OUR_PROG;




- обеспечение выхода из программы, например, используя функцию 4С прерывания 21Н, как показано ниже:

MOV AX,4C00Н

INT 21H

или оформив основную программу как процедуру с атрибутом FAR и стандартным выходом из процедуры RET, как показано в приведенной ниже программе.

 

Пример программы на Ассемблере

TITLE EX_PROG

PAGE,132

STACK SEGMENT PARA STACK ‘STACK’

DB 64 DUP(‘STACK ’); Область стека

STACK ENDS

DSEG SEGMENT PARA PUBLIC ‘DATA’

SOURCE DB 10,20,30,40; эта таблица будет скопирована

DEST DB 4 DUP(?); в эту таблицу в обратном порядке

DSEG ENDS

SUBTTL ОСНОВНАЯ ПРОГРАММА

PAGE

CSEG SEGMENT PARA PUBLIC ‘CODE’

ASSUME CS:CSEG, DS:DSEG, SS:STACK

OUR_PROG PROC FAR

;занести в стек такие начальные значения, чтобы программа

; могла возвратить управление отладчику

PUSH DS; поместить в стек номер блока адреса возврата

SUB AX,AX; обнулить регистр АХ, тоже можно сделать командой MOV AX,0

PUSH AX; поместить в стек значение адреса возврата=0

; инициировать адрес сегмента данных

MOV AX,DSEG

MOV DS,AX

; присвоить элементам таблицы DEST нулевые начальные значения

MOV DEST,0; обнуление 1-ого байта

MOV DEST+1,0; обнуление 2-ого байта

MOV DEST+2,0; обнуление 3-его байта

MOV DEST+3,0; обнуление 4-ого байта

; скопировать таблицу SOURCE в таблицу DEST в обратном порядке, в качестве промежуточной ячейки пересылки использовать регистр AL

MOV AL, SOURCE

MOV DEST+3,AL

MOV AL, SOURCE+1

MOV DEST+2,AL

MOV AL, SOURCE+2

MOV DEST+1,AL

MOV AL, SOURCE+3

MOV DEST,AL

RET; возврат управления отладчику db

OUR_PROG ENDP

CSEG ENDS

END OUR_PROG

 

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

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

2. Оттранслировать программу в объектный код.

3. Скомпоновать программу (получить исполнимый файл). Изучить листинг программы.

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

5. Внести в программу следующие изменения: задать исходную таблицу SOURCE из 5 двухбайтовых шестнадцатеричных переменных и скопировать эту новую таблицу в DEST.

6. В сегменте данных определить переменные, заполнив их следующими значениями:

- 5 байтов A, B, C, D, E;

- 5 двухбайтовых слов AA, BB, CC, DD, EE;

- 5 двойных слов AAAA, BBBB, CCCC, DDDD, EEEE;

7. Получить исполнимый файл программы с данными пункта 6и изучить дамп памяти данных с целью уяснения механизма выравнивания.

СОДЕРЖАНИЕ ОТЧЕТА

 

Отчет должен включать:

а) титульный лист;

б) формулировку цели работы;

в) описание результатов выполнения пунктов 3-7:

• листинги программ;

• результаты выполнения программ;

г) выводы, согласованные с целью работы.

 

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

1. Какие группы регистров выделяются в микропроцессоре и каковы особенности их использования?

2. Какую функцию в микропроцессоре выполняет регистр флагов?

3. Как используется регистр команд IP?

4. Какие шаги необходимо выполнить для получения из программы на языке ассемблера исполняемого модуля?

5. Прокомментируйте содержание листинга программы.

6. В каких окнах и в каком виде отображается состояние микропроцессора при отладке программ с применением отладчика td.exe?






Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 465 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Жизнь - это то, что с тобой происходит, пока ты строишь планы. © Джон Леннон
==> читать все изречения...

2268 - | 2040 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.