Группа команд пересылки
Эту группу условно можно разделить на 3 подгруппы:
- команды засылки константы;
- команды пересылки;
- команды чтения-записи.
Команды передачи данных обеспечивают пересылку данных между регистрами, между памятью и регистрами.
Рассмотрим формат передачи данных КОП, DST, SRC.
КОП — код операции (число от 0 до 255).
DST — приемник информации.
SRC — источник информации.
Команды передачи данных при своем выполнении не изменяют состава флагового регистра.
Команды засылки константы
В результате выполнения команды засылки константы в регистр или регистровую пару загружается константа, содержащаяся во втором или во втором и третьем байтах команды. Рассмотри формат команд засылки констант:
Команда засылки 8 разрядной константы имеет формат
MVI DST,D8
где DST-любой из РОН (А, В, С, D, Е, Н, L) или ячейка памяти (М) адрес которой берется из регистровой пары НL; MVI — код операции; D8 - 8-разрядная константа, содержащаяся во втором байте команды.
Пример: пусть требуется загрузить в ячейку памяти с адресом 100516 число 3F.
Адрес | Команда | Содержание ячейки памяти | Комментарий |
MVI H | В регистр H засылается константа 1016 Н<-10 | ||
MVI L | В регистр L запишем младший байт адреса 05 (HL=100516) | ||
MVI M | В ячейку памяти адресуемую с помощью регистровой пары HL записываем число 3F16 | ||
3F | 3F |
Команда засылки 16 разрядной константы имеет формат
LXI RP,D16 где RP - регистровая пара В, D, Н или указатель стека SP;
D16-16-разрядная величина константы, причем младший байт константы находится во втором байте команды, а старший в третьем.
Пример: пусть требуется загрузить в ячейку памяти с адресом 1005 число 3F.
Адрес | Команда | Содержание ячейки памяти | Комментарий |
LXI H | В регистровую пару HL засылается константа 051016 причем в регистр H засылается 1016, а в регистр L - 0516 | ||
MVI M | В ячейку памяти, адресуемую с помощью регистровой пары HL записываем число 3F16 | ||
3F | 3F |
Команда пересылки данных
При выполнении команд пересылки содержимое источника SRC пересылается в приемник DST, при этом содержимое источника не изменяется. В качестве источника и приемника операндов может быть использован любой из регистров общего назначения или ячейка памяти, адресуемая через регистровую пару (Н, L). Пересылка данных типа "ПАМЯТЬ-ПАМЯТЬ" запрещена.
Формат команд пересылки MOV DST, SRC,
где DST, SRC-любой из РОН (А, В, С, D, Е, Н, L) или ячейка памяти (М), адресуемая через регистровую пару HL.
Адрес | Команда | Содержание ячейки памяти | Комментарий |
LXI H | В регистровую пару HL засылается константа 051016 причем в регистр H засылается 1016, а в регистр L - 0516 | ||
MVI B | Засылка в B числа 3F | ||
3F | 3F | ||
MOV A,B | Передача числа 3F из регистра В в А, в В остается число 3F. | ||
MOV М,B | Передача данных из регистра B в ячейку памяти |
К командам пересылки можно также отнести команду XCHG, в результате выполнения которой регистровые пары (Н, L) и (D, Е) обмениваются содержимым следующим образом:
H c D
L c E
Команды чтения-записи.
LDAX RP-запись в аккумулятор содержимого ячейки памяти, адресуемой через регистровую пару BC или DE;
STAX RP-запись аккумулятора в ячейку памяти адресуемую через регистровую пару BC или DE;
Пример: необходимо записать в память по адресу 100516 число 3F16 с помощью команды STAX
Адрес | Команда | Содержание ячейки памяти | Комментарий |
LXI B | В регистровую пару HL засылается константа 051016 причем в регистр H засылается 1016, а в регистр L - 0516 | ||
MVI A | Засылка в A числа 3F | ||
3F | 3F | ||
STAX B | Пересылка данных из аккумулятора А в память. Адрес ячейки памяти определяется содержимым регистровой пары BC. |
LDAAdr-запись в аккумулятор содержимого ячейки, адрес которой определяется 16-разрядным адресом Adr;
Адрес | Команда | Содержание ячейки памяти | Комментарий |
LDA | А <-M0801<-0801 Значок <- означает направление передачи. | ||
LHLD Adr - запись в регистровую пару НL содержимого двух последовательных ячеек памяти с адресами Adr и Adr+1, причем в регистр Н загружается содержимое ячейки по адресу Adr+1, а в регистр L - по адресу Adr;
Адрес | Команда | Содержание ячейки памяти | Комментарий |
LHLD | 2А | НL <-002А | |
SHLD Adr - запись содержимого регистровой парыНL в две последовательные ячейки памяти с адресами Adr и Adr+1, причем coдержимoe регистра Н записывается в ячейку с адресом Adr+1, а регистра L - в ячейку с адресом Adr.
Дата добавления: 2022-05-27; просмотров: 93;