;
文章:行业新闻EDA文摘电源技术无线通信测量仪表嵌入式类电子技术制造技术半导体网络/协议展会实验家电维修  
  下载:EDA教程电源技术电子书籍电子元件无线通信通信网络电路图纸嵌入式类单片机传感/控制电子教材模拟数字
.... 音视频类
消费电子机械电子行业软件C/C++FPGA/ASIC规则标准家电维修DSPIC资料ARM软件电路图电子技术论坛
 
位置:电子发烧友 > 行业新闻 > 嵌入式类 > 单片机类 >MCS-51数据传送指令 退出登录 用户管理
栏目导航


· 单片机类 · 接口/总线/驱动
· ARM · DSP
· FPGA/ASIC技术 · 设计应用
· 嵌入式操作系统 · 电视卡
热门文章
· [组图] 电子元器件基础知识...
· [图文] USB接口定义
· [图文] 三极管开关电路图
· [组图] RS232 RS485接口原理...
· [组图] [组图]电动车充电器...
· [组图] 电子捕鱼器电路图
· [组图] 高品质音调电路的制...
· [组图] JRC4558电路
· [图文] M51134P低音炮电路图...
· [图文] TL494脉宽调制控制电...
相关文章

· 基于MCS-51系列单片...
· MCS-51布尔变量操作...
· MCS-51控制转移指令...
· MCS-51逻辑运算及移...
· MCS-51算术运算指令...
· MCS-51指令系统概述...
· MCS-51的串行通信口...
· MCS-51定时/计数器
· MCS-51单片机输入输...
· MCS-51单片机内部结...

MCS-51数据传送指令
作者:不详  来源:不详  发布时间:2006-4-3 22:43:51 减小字体 增大字体
数据传送指令共有29条,数据传送指令一般的操作是把源操作数传送到目的操作数,指令执行完成后,源操作数不变,目的操作数等于源操作数。如果要求在进行数据传送时,目的操作数不丢失,则不能用直接传送指令,而采用交换型的数据传送指令,数据传送指令不影响标志C,AC和OV,但可能会对奇偶标志P有影响。

    [1]. 以累加器A为目的操作数类指令(4条)
    这4条指令的作用是把源操作数指向的内容送到累加器A。有直接、立即数、寄存器和寄存器间接寻址方式:

        MOV  A,data     ;(data)→(A) 直接单元地址中的内容送到累加器A
        MOV  A,#data    ;#data→(A) 立即数送到累加器A中
        MOV  A,Rn      ;(Rn)→(A) Rn中的内容送到累加器A中
        MOV  A,@Ri     ;((Ri))→(A) Ri内容指向的地址单元中的内容送到累加器A

    [2]. 以寄存器Rn为目的操作数的指令(3条)
    这3条指令的功能是把源操作数指定的内容送到所选定的工作寄存器Rn中。有直接、立即和寄存器寻址方式:

        MOV  Rn,data     ;(data)→(Rn) 直接寻址单元中的内容送到寄存器Rn中
        MOV  Rn,#data    ;#data→(Rn) 立即数直接送到寄存器Rn中
        MOV  Rn,A        ;(A)→(Rn) 累加器A中的内容送到寄存器Rn中

    [3]. 以直接地址为目的操作数的指令(5条)
    这组指令的功能是把源操作数指定的内容送到由直接地址data所选定的片内RAM中。有直接、立即、寄存器和寄存器间接4种寻址方式:

        MOV  data,data   ;(data)→(data) 直接地址单元中的内容送到直接地址单元
        MOV  data,#data ;#data→(data) 立即数送到直接地址单元
        MOV  data,A     ;(A)→(data) 累加器A中的内容送到直接地址单元
        MOV  data,Rn    ;(Rn)→(data) 寄存器Rn中的内容送到直接地址单元
        MOV  data,@Ri   ;((Ri))→(data) 寄存器Ri中的内容指定的地址单元中数据送到直接地址单元

    [4]. 以间接地址为目的操作数的指令(3条)
    这组指令的功能是把源操作数指定的内容送到以Ri中的内容为地址的片内RAM中。有直接、立即和寄存器3种寻址方式:

        MOV  @Ri,data    ;(data)→((Ri)) 直接地址单元中的内容送到以Ri中的内容为地址的RAM单元
        MOV  @Ri,#data   ;#data→((Ri)) 立即数送到以Ri中的内容为地址的RAM单元
        MOV  @Ri,A       ;(A)→((Ri)) 累加器A中的内容送到以Ri中的内容为地址的RAM单元

    [5]. 查表指令(2条)
    这组指令的功能是对存放于程序存储器中的数据表格进行查找传送,使用变址寻址方式:

        MOVC  A,@A+DPTR   ;((A))+(DPTR)→(A) 表格地址单元中的内容送到累加器A中
        MOVC  A,@A+PC     ;((PC))+1→(A),((A))+(PC)→(A) 表格地址单元中的内容送到累加器A中

    [6]. 累加器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地址中

    [7]. 堆栈操作类指令(2条)
    这4类指令的作用是把直接寻址单元的内容传送到堆栈指针SP所指的单元中,以及把SP所指单元的内容送到直接寻址单元中。这类指令只有两条,下述的第一条常称为入栈操作指令,第二条称为出栈操作指令。需要指出的是,单片机开机复位后,(SP)默认为07H,但一般都需要重新赋值,设置新的SP首址。入栈的第一个数据必须存放于SP+1所指存储单元,故实际的堆栈底为SP+1所指的存储单元。

        PUSH  data   ;(SP)+1→(SP),(data)→(SP) 堆栈指针首先加1,直接寻址单元中的数据送到堆栈指针SP所指的单元中
        POP  data    ;(SP)→(data)(SP)-1→(SP), 堆栈指针SP所指的单元数据送到直接寻址单元中,堆栈指针SP再进行减1操作

    [8]. 交换指令(5条)
    这5条指令的功能是把累加器A中的内容与源操作数所指的数据相互交换。

        XCH  A,Rn    ;(A)←→(Rn)累加器与工作寄存器Rn中的内容互换
        XCH  A,@Ri   ;(A)←→((Ri))累加器与工作寄存器Ri所指的存储单元中的内容互换
        XCH  A,data  ;(A)←→(data)累加器与直接地址单元中的内容互换
        XCHD  A,@Ri  ;(A3-0)←→((Ri)3-0)累加器与工作寄存器Ri所指的存储单元中的内容低半字节互换
        SWAP  A      ;(A3-0)←→(A7-4)累加器中的内容高低半字节互换

    [9]. 16位数据传送指令(1条)
    这条指令的功能是把16位常数送入数据指针寄存器。

        MOV  DPTR,#data16  ;#dataH→(DPH),#dataL→(DPL)16位常数的高8位送到DPH,低8位送到DPL
[] [返回上一页] [打 印] [收 藏]
 

上一篇文章:MCS-51指令系统概述
下一篇文章:MCS-51算术运算指令
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
 
关于本站- 意见反馈 - 网站导航 - 帮助 - 隐私政策 - 联系我们 - 使用条款 - 安全承诺 - 友情连接
站长QQ:39550527 Powered by: 飓风网络(电路图
Copyright 2006-2008 Elecfans.Com.电子发烧友: 粤ICP备07065979号All Rights Reserved