Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Команда Назначение. A10000Переслать слово (два байта), начинающееся в DS по адресу 0000, в регистр AX




 

A10000 Переслать слово (два байта), начинающееся в DS по адресу 0000, в регистр AX.

03060200 Прибавить содержимое слова (двух байт), начинающегося в DS по адресу 0002, к регистру AX.

A30400 Переслать содержимое регистра AX в слово, начинающееся в DS по адресу 0004.

CB Вернуться в DOS.

 

Для ввода данной программы ввести команду DOS(команду операционной системы), вызывающую отладчик:

 

DEBUG

 

3.2. Сначала введите две команды E для сегмента данных:

 

E DS:00 23 01 25 00 00 00

 

Эта команда вводит 0,1,2,3,4 и 5 байты данных в сегмент указанный в регистре DS со смещением 00.

 

E DS:06 2A 2A 2A

 

Эта команда вводит 6,7 и 8 байты данных в сегмент указанный в регистре DS со смещением 06.

3.3. Введите команды программы в сегмент кодов со смещением 100. Для этого также необходимо ввести две команды E:

 

E CS:100 A1 00 00 03 06 02 00

 

Эта команда вводит первые две команды исходной программы.

 

E CS:107 A3 04 00 CB

 

Эта команда отладчика вводит последние две команды исходной программы.

 

3.4. Для просмотра информации в сегменте данных и в сегменте кодов введите две команды отладчика D:

 

D DS:000

 

Для просмотра сегмента данных.

 

D CS:100

 

Для просмотра сегмента кодов.

В сегменте данных байт информации 2A является кодом символа *, что видно в строке в правой части экрана для первого параграфа дампа данных.

3.5. Введите команду отладчика R для просмотра содержимого регистров и флагов и для отображения первой команды введенной программы. На языке Ассемблер первая команда обозначается MOV AX,[0000], это означает что данные берутся из ячейки с адресом 0000 относительно начала сегмента данных и пересылаются в регистр AX.

3.6. С помощью команд отладчика T выполните трассировку программы. Последняя выполняемая команда должна быть команда RETF. Будьте внимательны!

3.7. С помощью команды отладчика D выведите на дисплей дамп сегмента данных. Объясните какие изменения произошли в первом параграфе сегмента и почему.

3.8. Для завершения работы с программой и выхода из DEBUG в DOS введите команду отладчика Q.

4. Пример машинных кодов: определение размера памяти.

4.1. Базовая система ввода-вывода (BIOS) имеет подпрограмму, которая определяет размер памяти. Обращение к BIOS осуществляется по команде INT по прерыванию 12Н. В результате BIOS возвращает в регистр АХ размер памяти в килобайтах. Для этого необходимо вызвать отладчик DEBUG из DOS и ввести для команд INT 12H и RET следующие машинные коды:

 

E CS:100 CD 12 CB

 

4.2. Введите команду отладчика R для отображения содержимого регистров. При этом регистр IP должен содержать 0100 и высвечиваться команда INT 12.

4.3. 0 Введите команду отладчика T несколько раз и просмотрите выполняемые команды BIOS до тех пор пока не появится команда IRET. В этот момент регистр АХ содержит размер памяти в шестнадцатиричном формате. Теперь введите еще раз команду Т для выхода из BIOS и возврата в вашу программу. На экране появится команда RET для машинного кода СВ, который был введен вами.

4.4. Для завершения работы с программой и выхода из DEBUG в DOS введите команду отладчика Q.

 





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


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


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

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

Либо вы управляете вашим днем, либо день управляет вами. © Джим Рон
==> читать все изречения...

2236 - | 1972 -


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

Ген: 0.01 с.