В регистр В пересылается константа 8Dh.
R – все регистры (B, C, D, E, H, L) и аккумулятор (A)
Другие (вспомогательные) команды.
Команды ввода и вывода данных.
Команды управления (безусловные и условные переходы).
Команды логических операций.
Команды арифметических операций.
Команды пересылки данных.
Рассмотрим систему команд на языке ассемблера.
Система команд
Й учебный вопрос
5)
Константа во 2-м байте команды (7Eh) складывается с содержимым аккумулятора и результат сложения записывается в аккумулятор.
Содержимое 8-ми разрядного регистра В пересылается по внутренней шине данных МП в аккумулятор (А).
В аккумулятор заносятся данные из устройства ввода, адрес которого во 2-м байте команды.
В аккумулятор заносятся данные из ЯП, адрес которой во 2-м и 3-м байтах команды.
Режимы адресации в МП
В МП используются четыре режима адресации:
1) Прямая адресация – код адреса в команде является исполнительным адресом обращения к памяти или устройству ввода вывода. Примеры:
STA |
8F |
(A)←([8F79]) .
Б1 Б2 | IN |
8B |
(A)←([8B])
2) Регистровая адресация– это адресация, при которой операнд содержится в одном из регистров МП.
MOV A,B (A)←(B)
3) Непосредственная адресация – это адресация, при которой операнд находится в самой команде.
Б1 Б2 | ADI |
7Eh |
(A)←(A)+7Eh
4) Регистровая косвенная адресация – это адресация, при которой адрес ячейки памяти с операндом хранится в регистровой паре H-L.
MOV A,M; (A)←([H-L])
В аккумулятор пересылается содержимое ячейки памяти, адрес которой храниться в регистровой паре H-L.
Помни: Скобки (….) обозначают содержимое ячейки памяти или регистра РОН и аккумулятора. Скобки […] адрес ячейки памяти или устройства ввода/вывода.
Ассемблер - это программа, которая переводит последовательность команд с языка пользователя (ассемблера) в машинный код (код микропроцессора).
Система команд включает в себя следующие группы команд:
1. Команды пересылки данных
1.1 регистровая пересылка
Б1 | MOV rd, rs |
(rd)←(rs).
Где: Б1 – байт команды (команда содержится в 1-м байте ЗУ);
rd – все регистры (B, C, D, E, H, L) и аккумулятор (A);
rs – все регистры (B, C, D, E, H, L) и аккумулятор (A).
Cодержимое регистра rs переносится в регистр rd, при этом содержимое регистра rsостается неизменным.
Пример команды на языке ассемблер:
MOV D, E ; (D)←(E)
1.2 пересылка константы
Б1 Б2 | MVI r |
константа |
(r)←< Б2>
Пример команды на языке ассемблер:
MVI B, 8Dh ; (B)←8Dh
1.3 загрузка константы в пару регистров
Б1 Б2 Б3 | LXI rr |
младший разряд, const | |
старший разряд, const |
(rr)←< Б3>< Б2>
rr – регистровая пара (B-C, D-E, H-L; PSW-аккумулятор и регистр признаков).
Б1 Б2 Б3 | LXI B |
9A | |
8B |
(B-C)←8B9A
Помни!!!: Если в коде операции команды (КОП) присутствует символ Х – команда «работает»с регистровой парой.
Если в коде операции команды (КОП) присутствует символ I – команда «работает» с константой.
Например:
КОП LXI – команда работает с регистровой парой и константой.
1.4 косвенная регистровая пересылка данных
Б1 | MOV r, M |
(r)←([H-L]);
Б1 | MOV M , r |
([H-L])←(r).
Где: r- аккумулятор и РОН (регистр общего назначения);
М – мнемоническое обозначение регистровой пары H-L, в которой записан адрес ячейки памяти ЗУ;
(..) – содержимое 8- разрядной (однобайтной) ячейки памяти;
[..] – содержимое 16-ти разрядного (2-х байтного) адреса команды.
1.5 прямая загрузка