从上面的链接:
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
指令执行此操作?
从上面的链接:
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
指令执行此操作?
你首先要把需要的地址加载到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 特定指令的包含文件。在我的例子中,这些被用于基于 8085 的 CP/M 计算机的 BIOS 和实用程序。请注意,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