Запись числа в память

Регистры процессора 8086

Цель работы: изучить назначение регистров процессора 8086 и основные принципы использования регистров для управления работой процессора. Изучить способ сегментирования памяти процессора 8086.

1. Отладчик DEBUG

Запуск отладчика.

Для запуска отладчика выполните команду cmd. В командной строке введите команду debug. Приглашение отладчика «-»

Список команд отладчика.

Для вывода списка команд отладчика введите символ «?»

2. Регистры как переменные.

Представление содержимого регистров

Содержимое регистров выводится на экран по команде R

Пример:

-r

AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=0ACA ES=0ACA SS=0ACA CS=0ACA IP=0100 NV UP EI PL NZ NA PO NC

0ACA:0100 3E       DS:

0ACA:0101 62       DB 62

Задание 1

Назовите регистры общего назначения (РОН).

Определите, какие значения в них записаны?

Скопируйте результат в отчет. Для этого в левом верхнем углу окна отладчика откройте меню редактирования, выберите пункт «Пометить», выделите в окне на экране нужную область текста, выберите в меню пункт «Копировать», перейдите в окно блокнота, и выполните вставку.

 

Изменение значений в регистрах

Для записи данных в определенный регистр используется команда R <имя регистра>

Пример:

-r AX

AX 0000

:23

-r AX

AX 0023

:

Задание 2.

Введите в РОН шестнадцатеричные числа 56h, 1F3h, D8h, AB1h. Просмотрите содержимое всех регистров. Внесите результат в отчет

Введите во все РОН нулевые значения.

Проверьте содержимое регистров

 

3. Размещение двухбайтовых инструкций процессора в ячейках памяти

 

Задание 3.

Из каких частей состоит адрес ячейки памяти в реальном режиме работы процессора?

Укажите размер сегмента в адресуемой памяти процессора в реальном режиме.

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

Определите текущие адреса сегмента данных и сегмента кода.

 

Запись числа в память

Для записи числа в ячейку памяти используется команда E <смещение>

 

Старое значение в памяти
Пример

-E 100

0ACA:0100 3E.01

         
Адрес сегмента
Записываемое значение
 
Смещение

 


-E 101

0ACA:0101 62.D8

-r

AX=0023 BX=0000  CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=0ACA ES=0ACA SS=0ACA CS=0ACA IP=0100 NV UP EI PL NZ NA PO NC

0ACA:0100 01D8     ADD AX,BX

Из полученного результата видно, что отладчик интерпретирует двухбайтную инструкцию по адресу 0ACA:0100 как операцию сложения ADD значений регистров AX и BX



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: