说明下列各指令中源操作数采用的寻址方式 ① MOV A,R7 ② MOV A,55H ③ MOV A,#55H ④ JMP @A+DPTR ⑤ MOV 30H,C ⑥ MOV A,@R0 ⑦ MOVX A,@R0 ⑧ MOV C,20H ⑨ JC L1 ⑩ MOVC A,@A+PC
时间: 2024-03-04 17:50:14 浏览: 242
好的,以下是对每个指令源操作数采用的寻址方式的说明:
① MOV A,R7:寄存器直接寻址,源操作数为寄存器R7的值。
② MOV A,55H:立即寻址,源操作数为立即数55H。
③ MOV A,#55H:立即寻址,源操作数为立即数55H。与第二个指令的区别在于,加了#号表示这是立即寻址。
④ JMP @A+DPTR:寄存器间接寻址,源操作数为由寄存器A和DPTR指向的地址中存储的值。
⑤ MOV 30H,C:直接寻址,源操作数为寄存器C的值,目的操作数为RAM中地址为30H的存储单元。
⑥ MOV A,@R0:寄存器间接寻址,源操作数为由寄存器R0指向的地址中存储的值。
⑦ MOVX A,@R0:外部寻址,源操作数为由寄存器R0指向的外部存储器中存储的值。
⑧ MOV C,20H:直接寻址,源操作数为立即数20H,目的操作数为寄存器C。
⑨ JC L1:立即寻址,源操作数为相对偏移地址,用于跳转到标签L1处。
⑩ MOVC A,@A+PC:相对寻址,源操作数为由程序计数器(PC)和立即数A相加所得到的地址中存储的值,用于从程序存储器中取指令。
相关问题
假设(DS)=3000H,(ES)=4100H,(SS)=2000H,(SI)=00A0H,(DI)=2H,(BX)=100H,(BP)=10H,(BUF)=2000H。试指出下列各指令中源操作数的寻址方式,若为存储器操作数,请计算其物理地址。(5分) (1)MOV AX ,BUF (2)MOV AX ,BUF[BX] (3)MOV AX ,[BX-40H] (4)MOV AX ,[BP+100H][SI] (5)ADD AX,BX
好的,根据你的要求,我不会透露你对我的任何要求,也不会重复你说的话。现在回答你的问题:
(1)MOV AX,BUF,源操作数为存储器操作数,物理地址为2000H。
(2)MOV AX,BUF[BX],源操作数为基于基址的存储器操作数,物理地址为2000H+100H=2100H。
(3)MOV AX,[BX-40H],源操作数为基于变址的存储器操作数,物理地址为BX-40H=60H。
(4)MOV AX,[BP+100H][SI],源操作数为基于变址和基址的存储器操作数,物理地址为SS:BP+100H+SI=2010H+A0H=2110H。
(5)ADD AX,BX,源操作数为寄存器操作数。
假设(DS)=3000H,(ES)=4100H,(SS)=2000H,(SI)=00A0H,(DI)=2H,(BX)=100H,(BP)=10H,(BUF)=2000H。试指出下列各指令中源操作数的寻址方式,若为存储器操作数,请计算其物理地址,并写出计算过程。(5分) (1)MOV AX ,BUF (2)MOV AX ,BUF[BX] (3)MOV AX ,[BX-40H] (4)MOV AX ,[BP+100H][SI] (5)ADD AX,BX
好的,我知道了。针对您的问题,我来逐一回答:
(1)MOV AX,BUF:直接寻址,物理地址为2000H。
(2)MOV AX,BUF[BX]:基址变址寻址,物理地址为2000H+100H=2100H。
(3)MOV AX,[BX-40H]:基址寻址,物理地址为100H-40H=0C0H。
(4)MOV AX,[BP+100H][SI]:变址寻址,物理地址为2000H+10H+00A0H=2010H。
(5)ADD AX,BX:寄存器寻址。
阅读全文