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

3. Пример 2 выполнения своей программы

  1. Запустить эмулятор EMU8086.

  2. Набрать программу:

mov al, 84h;

add al, al

mov bx, 66h;

inc bx;

mov[bx], al;

mov[bx+3], al;

  1. save asзадать имя (свою фамилию)

  2. compile проверить ошибки в набранной программе и подтвердить своё имя.

  3. close

  4. emulate

  5. aux

  6. flags

  7. single step – выполнять программу по шагам и заполнять таблицу, записывая значения

указанных регистров и ячеек памяти до выполнения команды и после выполнения, а также записывать код команды и её логический адрес.

Таблица 1.

Команда

Адрес команды

Код команды

Содержимое до

выполнения

Содержимое после выполнения

1.

al =

al =

2.

al =

al =

cf = zf= acf=

pf = sf = of=

3.

bx =

bx =

4.

bx =

bx =

5.

* bx =

EA= bx =

b[bx] =

b[bx] =

6.

EA= bx +3 =

b[bx +3] =

al =

Посмотреть содержимое ячейки памяти по адресу

b[ bx+3] =[EA]=

= b[ ] =

*) – чтобы посмотреть содержимое ячейки памяти необходимо в memory набрать логический адрес 0100:bx (или 0100:EA) update-

Лабораторная работа №2 «Исследование команд пересылки данных в emu 8086»

Цель работы: __________________________________________________________________

_____________________________________________________________________________

_____________________________________________________________________________

Задание 1. Исследовать выполнение команд пересылок.

    1. Войти в эмулятор EMU 8086 (см. лабораторная работа №1) ,записать состояние указанных регистров в таблицу 1.

Таблица 1.

ax=

cs=

sp=

bx=

ds=

bp=

cx=

ss=

si=

dx=

es=

di=

ip=

    1. Исследование команд загрузки.

Заполнить таблицы 2-7, вводя указанные команды с любого адреса и, выполняя программы в пошаговом режиме, занести в таблицы состояние указанных регистров, ячеек памяти и флагов.

      1. Загрузка регистра непосредственным значением.

Таблица 2.

Команда

Адрес команды

Код команды

Содержимое регистров

до выполнения

после выполнения

mov ax,

ax=

ax=

mov bx,

bx=

bx=

mov cx,

cx=

cx=

mov si,

si=

si=

mov di,

di=

di=

mov bp,

bp=

bp=

      1. Регистровые пересылки.

Таблица 3.

Команда

Адрес команды

Код команды

Содержимое регистров

до выполнения

после выполнения

mov ax, bx

bx=________

ax=

bx=________

ax=

mov bx,cx

bx=________

cx=

bx=________

cx=

      1. Загрузка данных в память.

Таблица 4.

Команда

Адрес команды

Код команды

Содержимое регистров

до выполнения

после выполнения

mov bx, 66h

bx=

bx=

inc bx

bx=

bx=

mov [bx], al

al=___ EA=___

b[bx]=

bx =

al=__________

b[bx]=

mov [bx+3], cx

w[bx+3]=______

cx= EA=

w[bx+3]=______

cx=

      1. Пересылка из памяти в регистр.

Таблица 5.

Команда

Адрес команды

Код команды

Содержимое регистров

до выполнения

после выполнения

mov dx, 1234h

dx =

dx =

mov dx, [bx+si+1]

si=___________

bx=__________

w[bx+si+1]=______

dx=__________

EA =

EA=___________

bx+si+1=_______

w[bx+si+1]=______

dx=

mov ah, [bx+di]

bx=__________

di=__________

b[bx+di]=______

ax=

EA=

bx=__________

di=__________

b[bx+di]=______

ax=

    1. Команды обмена.

Таблица 6.

Команда

Адрес команды

Код команды

Содержимое регистров

до выполнения

после выполнения

xchg ax, cx

ax=__________

cx=__________

ax=___________

cx=___________

xchg [bp+80h], al

al=___bp=_____

b[bp+80h]=______

EA=

al=____________

b[bp+80h]=______

    1. Исследование выполнения команд пересылок адреса операнда и команд пересылок флагов.

      1. Исследование выполнения команд пересылок адреса операнда.

Таблица 7.

Команда

Адрес команды

Код команды

Содержимое Rg и ячеек памяти

до выполнения

после выполнения

lea bp, [di+3]

bp=__________

di=__________

di+03=

EA=______

bp=______

lds dx, [di+3]

di=___________

b[di+3]=_______

b[di+4]=_______

b[di+5]=_______

b[di+6]=_______

ds=__________

dx=

EA=______

dx=______

ds=______

ds:dx=_________

les cx, [bp]

es=___________

cx=___________

bp=___________

b[bp]=_________

b[bp+1]=_______

b[bp+2]=_______

b[bp+3]=

es=___________

cx=___________

cl=___________

ch=_________

cs=_______

es:cx=_______

EA=

      1. Исследование выполнения команд пересылок флагов.

Загрузить сегментные регистры значения

cs=

ds=

ss=

es=

Таблица 8.

Команда

Адрес команды

Код команды

Содержимое Rg и ячеек памяти

до выполнения

после выполнения

lahf

ah=__________

F l L=

S Z 0 AC 0 P 1 C

ah=__________

F l L=

mov ah, 0ffh

ah=

ah=

sahf

ah=__________

F lL=

ah=__________

F lL=

mov sp, 0000h

sp=

sp=

pushf

sp=_________

w[tos]=______

F l L=

F l H=

0 0 0 0 0 0 0 0

sp=_________

w[tos]=______

mov ax, 1234h

ax=

ax=

push ax

sp=__________

w[tos]=_______

b[sp]=________

b[sp+1]=______

sp=_________

w[tos]=______

popf

F l L=

F l H=

sp=_________

w[tos]=______

F l L=

F l H=

sp=___________

w[tos]=

pushf

sp=_________

sp=___________

w[tos]=________

F l L=

F l H=

1.5 Исследование команды трансляции XLAT.

1.5.1. Сформировать в памяти таблицу байтов данных.

Таблица 9.

№ элемента таблицы

Адрес записи

Записываемое значение

0

ds:

1

ds:

2

ds:

3

ds:

4

ds:

5

ds:

      1. Записать ___ элемент таблицы в регистр al. В регистре al задайте номер от 0 до 5 элемента таблицы байтов данных. Результаты занесите в таблицу 10.

Таблица 10.

Команда

Адрес команды

Код команды

Содержимое Rg и ячеек памяти

до выполнения

после выполнения

mov al,

al=

al=

mov bx,

bx=

bx=

xlat

al+bx=_______

EA=_________

b[al+bx]=

EA=__________

al=

Примечание: В регистре al необходимо задать номер элемента таблицы от 0 до5.

      1. Определить содержимое соответствующего регистра при выполнении __ команды.

  1. mov al, -2510 11) mov bl, -3216

  2. mov bp, -1310 12) mov bl, -1910

  3. mov bx, -3116 13) mov al, -2416

  4. mov bl, -2716 14) mov dl, -3010

  5. mov bl, -4416 15) mov dh, -3210

  6. mov bx, -1810 16) mov sp, -3416

  7. mov ax, -1910 17) mov cx, -4116

  8. mov al, -1316 18) mov di, -2116

  9. mov dx, -716 19) mov dh, -3116

  10. mov bp, -1416 20) mov ax, -810