请问一道简单汇编语言题

来源:百度知道 编辑:UC知道 时间:2024/05/28 17:33:50
在RAM中,已知(40H)=48H,(48H)=90H,(90H)=40H试分析下段程序各条指令的作用,说出执行指令后的结果。
MOV A, 40H
MOV R1 , A MOV 40H,@R1
MOV @R1,A XCH A,R1

MOV A, 40H ;(40H)送A,即(A)=48H
MOV R1 , A ;(A)送R1,(R1)=48H
MOV 40H,@R1;((R1))送40H,即(40H)=90H
MOV @R1,A;(A)送(R1)即48H,即(48H)=48H
XCH A,R1;(A)与(R1)互换,原本都是48H
结果:(40H)=90H,(48H)=48H,(90H)=40H,(A)=48H,(R1)=48H

MOV A, 40H
将地址为40H的内存单元里的内容即48H传送到累加器A里面。也就是A=48H
MOV R1 , A
将累加器A的值48H传送到寄存器R1里面。也就是R1=48H
MOV 40H,@R1
此语句是将寄存器所指向的内存单元的数值放到40H单元进行储存。
结果是(40H)=90H
MOV @R1,A
此语句是把累加器A的值传送到寄存器R1所指向的内存单元。
结果是(48H)=48H
XCH A,R1
此语句是将寄存器R1与累加器A的值进行互换。
此时A与R1的值都为48H。

我支持“回答者:pda888 - 秀才 二级 6-5 22:01”这个:
MOV A, 40H
将地址为40H的内存单元里的内容即48H传送到累加器A里面。也就是A=48H
MOV R1 , A
将累加器A的值48H传送到寄存器R1里面。也就是R1=48H
MOV 40H,@R1
此语句是将寄存器所指向的内存单元的数值放到40H单元进行储存。
结果是(40H)=90H
MOV @R1,A
此语句是把累加器A的值传送到寄存器R1所指向的内存单元。
结果是(48H)=48H
XCH A,R1
此语句是将寄存器R1与累加器A的值进行互换。
此时A与R1的值都为48H。

MOV A, 40H
将16进制的数40H传送到累加器A里面。也就是A=40H
MOV R1 , A