累加器A与片外数据存储器RAM传送指令(4条)举例——mcs51单
扫描二维码
随时随地手机看文章
累加器A与片外数据存储器RAM传送指令(4条)
这4条指令的作用是累加器A与片外RAM间的数据传送。使用寄存器寻址方式:
MOVX @DPTR,A;(A)→((DPTR)) 累加器中的内容送到数据指针指向片外RAM地址中
MOVX A, @DPTR;((DPTR))→(A) 数据指针指向片外RAM地址中的内容送到累加器A中
MOVX A, @Ri;((Ri))→(A) 寄存器Ri指向片外RAM地址中的内容送到累加器A中
MOVX @Ri,A;(A)→((Ri)) 累加器中的内容送到寄存器Ri指向片外RAM地址中
说明:
1、在89C51中,与外部存储器RAM打交道的只可以是累加器A,所有需要送入外部RAM的数据必须要通过A送出去。而所有要读入外部RAM中的数据也必需要通过A读入。在此我们可以看出外部RAM的区别了。
内部RAM间可以直接进行数据传递,而外部则不行。比如,要将外部RAM中某单元(设为110H单元的数据)送入另外一个单元(设为200H单元),也必须要先将110H单元中的内容读入A,然后再送入200H单元中去。
2、要读写外部的RAM,当然也必须要先知道RAM的地址,在后两条指令中,地址是被地址放在DPTR中的,而前两条指令,由于Ri(即R0或R1)只是一个8位的寄存器,所以只能提供低8位地址,因为有时扩展的外部RAM的数量比较少,少于或等于256个,就只需提供8位地址就足够了。请大家再复习下我们前面《51单片机的寻址方式》这节课。
3、使用时应当首先将要读或写的地址送入DPTR或Ri中,然后再用读写命令。
例:将外部RAM中100H单元中的内容送入外部RAM中200H单元中。
MOV DPTR,#0100H
MOVX A,@DPTR
MOV DPTR,#0200H
MOVX @DPTR,A