直接寻址和寄存器寻址的区别
1寄存器寻址和直接寻址指令的表现形式不同。在上面所举的例子中,我们可以看出ACC和A,A、B和AB对,DPH、DPL和DPTR,CY和C等,书写形式相似但不相同,各组所对应的都是同一个存储单元,但在指令中前面的是直接寻址,后面的是寄存器寻址。
2寄存器寻址和直接寻址指令的汇编代码不同。采用寄存器寻址和直接寻址对某1个存储单元(该存储单元既可以进行寄存器寻址也可以进行直接寻址)进行寻址时,不同的寻址方式,对应的汇编代码也不同,这是两种寻址方式的本质区别。
采用直接寻址指令寻找特殊功能寄存器字节单元或位单元时,汇编后操作数的直接地址占用汇编代码的一个字节。
例如:指令M0V ACC,30H的汇编代码为85H、30H、0E0H;
指令MOV B,30H的汇编代码为85H、30H、0F0H;指令M0V DPL,30H的汇编代码为85H、30H、82H;指令MOV DPH,30H的汇编代码为85H、30H,83H;指令JBCY,30H的汇编代码为20H、0D7H、30H;上述指令中对源操作数和目的操作数均采用了直接寻址方式,汇编代码共三个字节:第一个字节为指令类型;第二个字节为源操作数地址;第三个字节为目的操作数的地址。采用寄存器寻址指令寻址特殊功能寄存器某个字节单元或位单元时,汇编后的寄存器操作数与指令助记符被汇编成一个字节的汇编代码。
例如:指令M0V A,30H的汇编代码为0E5H、30H;指令M0V DPTR,#4000H的汇编代码为90H、4000H;指令M0V C,30H的汇编代码为0A2H、30H;上述指令中对目的操作数均采用了寄存器寻址。汇编代码的字节中包含了指令功能和寻址操作数所用的寄存器两个方面的信息。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!