立即寻址是在指令中直接给出要操作的数据(而不是数据的存放地址),这个数据称为立即数,为了表示该数值是一个数据而不是地址,要在该数值前加“#”号。例如:
MOV A,#0FFH
MOV A,#65H
MOV DPTR,#1234H
第1条指令的含义是:将数据0FFH(即11111111)送到累加器A中。
第2条指令的含义是:将数据65H(即01100101)送到累加器A中。
第3条指令的含义是:将数据1234H(即0001001000110100)送到数据指针寄存器(DPTR)中,其中12H送到DPTR的高8位寄存器DPH中,34H送到DPTR的低8位寄存器DPL中。
直接寻址
直接寻址是在指令的操作码后给出数据存放的地址,指令可以操作该地址存放的数据。例如:
MOV A,56H
这条指令的含义是将56H单元中的数据送到累加器A中。
如果56H单元中的数据为01101001,如图所示,执行该条指令后,56H单元中的数据会送到累加器A中,累加器A中的数据也为01101001,而之前存放的数据会消失。
?
直接寻址方式可以访问存储器的 30H~7FH 单元(即数据缓冲区)、21 个位地址单元和特殊功能寄存器(SFR),而且特殊功能寄存器只能用直接寻址方式访问。 篇幅有限,下期我们再继续分享其他几种!感谢大家关注转发!