发布网友 发布时间:2022-07-18 02:59
共4个回答
热心网友 时间:2023-10-09 06:18
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;上述指令中对目的操作数均采用了寄存器寻址。汇编代码的字节中包含了指令功能和寻址操作数所用的寄存器两个方面的信息。
热心网友 时间:2023-10-09 06:18
简单的举个例子你看一下吧!比如说MOV A,30H就是直接寻址他相当与MOV A,P1热心网友 时间:2023-10-09 06:19
累加器写成A或ACC在51汇编语言指令中是有区别的。热心网友 时间:2023-10-09 06:19
第一个