先决条件–寻址模式
指定指令要操作的数据的方式称为寻址模式。
寻址模式的类型–
在8085微处理器中,有5种寻址模式:
- 立即寻址模式–
在立即寻址模式下,源操作数始终是数据。如果数据为8位,则指令为2个字节,如果数据为16位,则指令为3个字节。例子:
MVI B 45(立即将数据45H移至寄存器B)
LXI H 3050(立即将操作数3050H装入HL对)
JMP地址(立即跳转到操作数地址) - 寄存器寻址模式–
在寄存器寻址模式下,要操作的数据在寄存器内部可用,并且寄存器是操作数。因此,该操作是在微处理器的各个寄存器中执行的。例子:
MOV A,B(将寄存器B的内容移动到寄存器A)
ADD B(将寄存器A和B的内容相加并将结果存储在寄存器A中)
INR A(将寄存器A的内容加1) - 直接寻址模式–
在直接寻址模式下,要操作的数据在存储位置内部可用,并且该存储位置直接指定为操作数。操作数可直接在指令本身中使用。例子:
LDA 2050(将存储器位置的内容加载到累加器A中)
LHLD地址(将16位存储位置的内容加载到HL寄存器对中)
IN 35(从地址为35的端口读取数据) - 注册间接寻址模式–
在寄存器间接寻址模式下,要操作的数据在存储单元内部可用,并且该存储单元由寄存器对间接指定。例子:
MOV A,M(将HL对指向的存储位置的内容移动到累加器)
LDAX B(将BC寄存器的内容移至累加器)
LXIH 9570(立即使用位置9570的地址加载HL对) - 隐式/隐式寻址模式–
在隐式/隐式寻址模式下,操作数是隐藏的,并且要操作的数据在指令本身中可用。例子:
CMA(在A中查找并存储累加器A的内容的1的补码)
RRC(将累加器A右旋转一位)
RLC(将累加器A左移一位)