Слайд 3
В МП ВМ80 применяется довольно простой формат команд,
Команды имеют
длину от 1 до 3 байт.
Код операции всегда размещен
в первом байте команды.
Второй и, если необходимо, третий байты команды отводятся под непосредственные данные, адрес порта или ячейки памяти.
В командах допускается явное задание только одного адреса
Слайд 5Система команд
состоит из пяти групп:
пересылки (14 команд, 28
операций),
логической обработки (15 команд, 19 операций),
арифметической обработки (14
команд, 29 операций),
передачи управления (28 команд, 28 операций),
управления процессором (7 команд, 7 операций).
Всего в систему входят 78 базовых команд, содержащих 111 кодов операций.
Слайд 7
Поля src и dst означают один из 8-разрядных регистров А,
В, С, D, Е, Н или L. Для получения правильного
кода операции следует в соответствующее поле кода записать двоичный код регистра согласно правилу
Регистр В С D Е Н L М A
Код 000 001 010 011 100 101 110 111
Слайд 8
Код 110
является признаком косвенной адресации к памяти с
помощью 16-разрядного адреса, размещенного в регистрах Н и L.
В
зависимости от расположения этого кода в команде, обращение к соответствующей ячейке памяти производится или за операндом, или для записи результатов операции.
Слайд 11
К двухбайтным командам в МП относятся команды с непосредственной адресацией
и команды ввода-вывода. Соответственно второй байт команды этой группы содержит
8-разрядный операнд или 8-разрядный адрес устройства ввода или вывода.
Слайд 13
В трехбайтных командах второй и третий байты содержат 16-разрядные адреса
(в командах с прямой адресацией) или 16-разрядные операнды (в командах
загрузки регистровых пар и указателя стека).
Слайд 14
После выполнения каждой операции а АЛУ вырабатывается пять признаков, значения
которых могут влиять на выполнение последующих команд обработки информации и
условной передачи управления. Однако следует иметь ввиду, что различные команды по-разному влияют на отдельные признаки.
Слайд 15Признаки выполнения операции
Cy - признак(_флажок) переноса
Z - признак нуля
М
- признак знака
Р - признак паритета
Аy – признак промежуточного переноса
Слайд 16
где S - признак “знака” (принимает значение старшего разряда
результата);
Z - признак нулевого результата;
АС -признак
вспомогательного переноса (если есть перенос
между тетрадами байта, то АС=1, иначе АС=0;
Р - признак четности результата (если число единиц в байте
результата четно, то Р=1, иначе Р=0);
С - признак переноса или заема (если при выполнении коман-
ды возник перенос из старшего разряда или заем в стар-
ший разряд то С=1, иначе С=0
01.DDD.SSS
Mov A,B 01 11.1 000 B
- 78H
Mov A,M 01 11.1 110B - 7EH
Mvi A, 3DH 00 11.1 110B - 3EH
Слайд 21
Загрузить А числом из ячейки памяти 0981Н
LDA 0981H
Загрузить А
двухбайтным числом?
Слайд 24
двухместные логические операции над байтами:
в качестве источника одного из операндов
используют аккумулятор А, который одновременно служит и приемником результата.
Источником
второго операнда является
либо 8-разрядный регистр, кодируемый полем src, либо ячейка памяти, адресуемая парой HL,
либо константа, заданная непосредственно в команде.
Все команды влияют на флажки признаков результата, входящие в состав флажкового регистра.
Слайд 25
Две команды STC и CMC дают возможность манипулировать флажком CY,
устанавливая или инвертируя его. Сброс флажка может быть выполнен командой
: ORA A (A –A OR A )
При этом следует помнить, что состояние других флажков также изменяется
Слайд 29команды арифметической обработки
Слайд 30
Во всех байтовых операциях сложения и вычитания используется аккумулятор как
источник операнда и приемник результата.
В качестве источника второго операнда
применяется
либо регистр src,
либо ячейка памяти М,
либо литерал data
Слайд 35
Эти операции организуют безусловный переход, нарушая процесс последовательной выборки команд.
Для поддержки условной передачи управления в состав группы введены три
соответствующие модификации базовых операций
Jcc Условный переход
Ссс Условный вызов подпрограммы
Rcc Условный возврат из подпрограммы
Каждая условная операция обеспечивает проверку восьми условий, в соответствии с которыми меняется значение поля ее
Слайд 37
Передача управления производится только в том случае, если выполняется условие,
указанное в команде
Слайд 40Условный возврат из подпрограммы
Слайд 42. Программирование
Задача:
Разработать программу сложения двух чисел
Исходные данные:Х1=5еh, X2=95h
Слайд 43Алгоритм решения
Определим адресные пространства:
для исходных данных:
ячейки 0800Н-0810Н
Для результата :
0850Н
Для программы : 0900Н-0950Н
1.записать числа в область памяти данных
Слайд 44решение
1.записать числа в область памяти данных
2.записать в аккумулятор число Х1
3.Сложить
4.Результат
поместить в память