×
单片机 > 单片机程序设计 > 详情

累加器A与片外数据存储器RAM传送指令(4条)举例——mcs51单

发布时间:2020-08-25 发布时间:
|

累加器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





『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈AVR中定时器几种工作模式