
- •Лабораторная работа №1 «Изучение программного эмулятора emu 8086» Введение
- •1. Запуск Эмулятора
- •2. Пример 1 выполнения программы папки Examples.
- •3. Пример 2 выполнения своей программы
- •Лабораторная работа №2 «Исследование команд пересылки данных в emu 8086»
- •Лабораторная работа №3 «Исследование выполнения арифметических команд в emu 8086»
- •Лабораторная работа № 4 «Исследование выполнения логических, цепочечных команд, команд управления состояниями флагов и команд сдвигов в emu 8086»
- •Исследование команд управления состоянием флагов.
- •3. Исследование логических команд.
- •4. Исследование выполнения команд сдвигов.
- •5 Исследование выполнения цепочечных команд movs, cmps, scas, stos, lods.
Лабораторная работа №3 «Исследование выполнения арифметических команд в emu 8086»
Цель работы: ______________________________________________________ __________________________________________________________________
Запускаем эмулятор EMU 8086 (лаб. работа №1 )
Задание 1.Первоначальная загрузка регистров.
Таблица 1.
Команда |
Адрес |
Код |
MOV AХ, 47h |
|
|
MOV BX, 1234h |
|
|
MOV CX, 0155h |
|
|
MOV DX, 0666h |
|
|
MOV SI, 0002h |
|
|
MOV DI, -1 |
|
|
MOV BP, 4F1Ah |
|
|
Задание 2. Исследование арифметических команд.
Таблица 2.
Команда |
Адрес команды |
Код команды |
Содержимое Rg и ячеек памяти |
Пояснения выполнения команды |
|
До выполнения |
После выполнения |
||||
SUB AX, AX |
|
|
AX=_______ |
AX=________ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
SUB AX, 0007h |
|
|
AX=_______ |
AX=_________ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
CMP AX, 0FEDCh |
|
|
AX=_______ |
AX=_________ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
SUB AX, 0FEDCh |
|
|
AX=_______ |
AX=_________ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
SUB BL, BL |
|
|
BL=_______ |
BL=_________ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
MOV CX, 0C421h |
|
|
CX=_______ |
CX=__________ |
|
MOV [0102h], CX |
|
|
W[0102h]=___________ |
W[0102h]=___________________ |
|
MOV BX, 5678h |
|
|
BX= |
BX= |
|
ADD BX, [0102h] |
|
|
W[0102h]=____________
BX=______ |
W[0102h]=_____ BX=__________ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
SUB [0102h], BL |
|
|
b[0102h]= ___________
BX=_______ |
b[0102h]=______ BX=__________ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
MOV CX, 4A01h |
|
|
CX= |
CX= |
|
ADD CX, 6355h |
|
|
CX=______ |
CX=__________ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
MOV BX, -3 |
|
|
BX= |
BX= |
|
ADD BX, CX |
|
|
BX=______ CX=______ |
BX=______ CX=______ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
NEG BX |
|
|
BX=______ |
BX=______ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
STC |
|
|
Cf= |
Cf= |
|
MOV AL, 0F0h |
|
|
AL= |
AL= |
|
ADC AL, 0A3h |
|
|
AL=_______ |
AL=__________ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
SBB AL, 96h |
|
|
AL=_______ |
AL=__________ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
SBB AL, 01h |
|
|
AL=_______ |
AL=__________ Zf=___ Cf=___ Pf=___ Of=___ Sf=___ AСf=___
|
|
Для указанной команды, предложить порядок исследования команды. Занести данные в таблицу 3 аналогично предыдущим заданиям. Написать код команды (побитно) и указать способ адресации для этой команды.
MOV BX, CX
MOV [BX+si+3], DX
MOV [BX], DX
MOV [SI+3], DX
MOV AX,[BX+1234h]
MOV AX, [SI]
MOV [0103h], AX
MOV BX, [0B4Ch]
MOV BX, 0ABCDh
MOV [0103h], 0ABCDh
MOV [BX+SI+1234h], 5678h
MOV [SI+33A2h], 13A2h
ADD DX, [0120h]
MOV AL, [BX+SI+7]
ADD [BX+5], DX
MOV AX, [BX+SI+3]
ADC AL, [BX+SI]
ADD BX, [0102h]
ADD AX, AX
MOV [BX+20], AL
ADD [SI+BX-48h],Al
MOV [SI+BX],DX
ADD DX,[DI+20h]
MOV CH,[SI+1234h]
ADD [BP+SI],35A9h
MOV [BX+03],0ABCDh
ADD AH,[BP+12h]
MOV [BX+04],25A1h
ADD DL,[BX+DI+05]
Таблица 3.
Команда |
Адрес команды |
Код команды |
Содержимое Rg и ячеек памяти |
Пояснения выполнения команды |
|
До выполнения |
После выполнения |
||||
|
|
|
|
|
|
Проверка кода команды
_
_
__ __ __ __ __ | __ | __ | __ __ | __ __ __ | __ __ __
_______________________________
код
= ________ ____________________h