发布网友 发布时间:2023-11-01 23:01
共1个回答
热心网友 时间:2024-10-28 19:22
一、作用不同
MOV A,R0是直接寻址指令(直接寻址方式的操作指令直接把地址作为操作数来运行,既可作为源操作数,也可作为目的操作数)因此是传递的R0中存储的数据。
MOV A,@R0是间接寻址指令(间接寻址时,寄存器的内容是操作数的地址。通过@Ri可以对片内数据存储器单元间接寻址),因此Ri中存储的是数据存储器的地址,Ri相当于指针,@Ri中存储的是数据存储器的地址的内容。
二、意思不同
MOV R0,A是把累加器中的数送给寄存器R0,MOV @R0,A是把累加器的内容给R0指向的内存单元。
三、用法不同
比如MOV A,#01H
MOV R0,A ;执行完这一句之后,R0=#01H
MOV A,#20H
MOV @R0,A ;把#20H送给R0指向的单元#01H,执行完之后01地址中存储的内容就变成#20H
后者是一个间接寻址的问题。