单片机汇编语言问题:
执行下列程序后,内部RAM 38H单元的内容是( )
MOV 30H,#00H
MOV R0,#30H
MOV A,30H
ADD A,#05H
MOVC A,@A+PC
MOV @R0,A
SJMP $
TDB: DB 00H, 01H, 02H, 03H, 05H
END
对不起,写错了。到不是01H
你可以说说程序执行的步骤吗?
追答MOV 30H,#00H;(30H)=00H
MOV R0,#30H;(R0)=30H
MOV A,30H;(A)=(30H)=00H
ADD A,#05H;(A)=05H
MOVC A,@A+PC;这是单字节指令,PC=当前值,(A)=05H,由此向后数第5个字节内容送A
MOV @R0,A;一个字节指令,A的内容送30H单元(因为(R0)=30H)
SJMP $;双字节指令,死循环
TDB: DB 00H, 01H, 02H, 03H, 05H
END