MOV r,M: Где пара HL вписывается в это?
Из приведенной выше ссылки:Content of the memory location whose address is available in H,L pair is transferred to the destination register r.
Что я не понимаю, так это как адрес входит в пару H,L? У меня есть адрес памяти, и я хочу, чтобы значение, присутствующее в нем, было перенесено в регистр. Как мне сделать это с помощью MOV r,M
инструкция?
2 ответа
Сначала вы должны загрузить требуемый адрес в HL, затем вы можете получить содержимое адреса, на который указывает HL, например:
LXI HL,1000h ; load 16 bit address 0x1000 into HL register pair
MOV B,(HL) ; read contents of address 0x1000 into register B
8085 включает в себя некоторые "недокументированные" инструкции, которых нет на 8080 и которые не реализованы в Z80, поэтому они используются редко. Вот включаемый файл для конкретных инструкций 8085. В моем случае они использовались для BIOS и служебных программ для компьютера CP/M на базе 8085. Обратите внимание, что DE может использоваться как адрес для загрузки или сохранения HL как 16-битное значение:
ARHL MACRO ;ARITH RIGHT SHIFT HL
DB 10H
ENDM
DSUB MACRO ;HL=HL-BC
DB 08H
ENDM
JNXC MACRO X ;JMP IF NOT X CARRY (INX, DCX)
DB 0DDH
DW X
ENDM
JXC MACRO X ;JMP IF X CARRY
DB 0FDH
DW X
ENDM
LDHI MACRO I ;DE=HL+I
DB 28H
DB I
ENDM
LDSI MACRO I ;DE=SP+I
DB 38H
DB I
ENDM
LHLX MACRO ;HL=(DE)
DB 0EDH
ENDM
RDEL MACRO ;ROTATE DE,CY LEFT
DB 18H
ENDM
RIM MACRO ;RESET INT MASK
DB 20H
ENDM
RSTV MACRO ;RST IF V SET TO 40H
DB 0C8H
ENDM
SHLX MACRO ;(DE)=HL
DB 0D9H
ENDM
SIM MACRO ;SET INT MASK
DB 30H
ENDM