Министерство образования и науки РФ
Рязанский государственный радиотехнический университет
Кафедра ЭВМ
Лабораторная работа № 4
«ЭМУЛЯЦИЯ КОМАНД МИКРОПРОЦЕССОРА i8086»
Выполнил:
Ст. гр. 145
Лобакин А.Ю.
Земченкова С.П.
(бригада №1)
Проверил:
Степанов Д.С.
Щербакова О.В.
Рязань, 2012
Цель работы: ознакомление с принципами микропрограммной эмуляции ЭВМ с программным управлением, микропрограммирование машинных команд микропроцессора i8086 (МП-86).
Основные этапы выполнения машинных команд:
Задание: Составить программу нормализации числа со знаком: арифметический сдвиг влево до появления единицы в старшем значимом бите, при модификации порядка. Мантиссу и порядок записать в соседние РОНы.
Схема алгоритма:
Нет
Да
Начало
Ст. бит мантиссы не равен 1
Сдвиг мантиссы влево;
Декремент порядка
Конец
Программа решаемой задачи на языке ассемблера:
10 |
L2: TEST AX, FFFFh |
Проверка старшего бита мантиссы |
12 |
JS L1 |
Условный переход по S = 1 |
14 |
SHL AX |
Сдвиг мантиссы влево |
16 |
DEC BX |
Декремент порядка |
18 |
JMP L2 |
Безусловный переход |
1A |
L1: HALT |
Остановка программы |
Кодирование команд:
Команда |
Формат |
Код в двоичном виде |
Код в 16-ричном виде |
TEST AX, FFFFh |
RMI |
11110111 11100000 |
F7E0h |
JS L1 |
|
01111000 00000110 |
7806h |
DEC BX |
R |
01001011 |
4B00h |
SHL AX |
RM |
11010001 11100000 |
D1E0h |
JMP L2 |
|
11101011 11110100 |
EBF4h |
HALT |
|
11111111 00000000 |
FF00h |
Микропрограмма выборки команд:
Микропрограмма операций:
Таблица преобразования адресов: