第3章-MCS-51单片机指令系统-3.3.1数据传送类指令_第1页
第3章-MCS-51单片机指令系统-3.3.1数据传送类指令_第2页
第3章-MCS-51单片机指令系统-3.3.1数据传送类指令_第3页
第3章-MCS-51单片机指令系统-3.3.1数据传送类指令_第4页
第3章-MCS-51单片机指令系统-3.3.1数据传送类指令_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.3MCS-51的指令集,3.3.1数据传送类指令MOV/PUSH/POP/XCH/XCHD/SWAPMOVX/MOVC,3.3MCS-51的指令集,按功能,分5类3.3.1数据传送类指令3.3.2算术运算类指令3.3.3逻辑运算类指令3.3.4控制转移指令3.3.5位操作类指令,3.3.1数据传送类指令,按传送区域,分3组1.内部RAM数据传送MOV、PUSH/POP、XCH/XCHD、SWAP2.访问外部RAM或I/O的数据传送MOVX3.程序存储器(ROM)到累加器(A)的传送MOVC,所有的传送指令都不影响标志位CY、AC和OV涉及累加器A的指令将影响奇偶标志位P,数据传送类指令一览表,1.内部RAM数据传送,(1)以累加器A为目的操作数的指令(2)以Rn为目的操作数的指令(3)以直接地址为目的操作数的指令(4)以寄存器间接地址为目的操作数的指令(5)16位数据传送指令(6)堆栈操作指令(7)字节交换指令,PUSH/POP,XCH/XCHD/SWAP,(1)以累加器A为目的操作数的指令,功能把源操作数的内容送入累加器A格式MOVA,Rn;(A)(Rn)MOVA,direct;(A)(direct)MOVA,Ri;(A)(Rn)MOVA,data;(A)data例MOVA,10H;(A)10H,(2)以Rn为目的操作数的指令,功能把源操作数的内容送入当前工作寄存器区的R0R7中的某一个寄存器(由RS1、RS0确定)格式MOVRn,A;(A)(Rn)MOVRn,direct;(A)(direct)MOVRn,data;(A)data注意MOVRn,RiMOVRn,Rn,例1MOVR0,A若RS1=0、RS0=0,则(A)R0(内部RAMH)若RS1=0、RS0=1,则(A)R0(内部RAMH)例2已知:(A)=60H,(R1)=10H,(R3)=45H,(45H)=37H指令为:MOVR1,A;(R1)(A)MOVR2,45H;(R2)(30H)MOVR3,#33H;(R3)#85H执行后:(R1)=50H、(R2)=37H、(R3)=35H,00,08,;(R1)(A),;(R2)(45H),;(R3)#33H,60H,37H,33H,(3)以直接地址为目的操作数的指令,功能把源操作数送入由直接地址指出的存储单元格式MOVdirect,A;(direct)(A)MOVdirect,Rn;(direct)(Rn)MOVdirect,direct;(direct)(direct)MOVdirect,Ri;(direct)(Rn)MOVdirect,data;(direct)data例若(R1)=51H,(51H)=68H指令为:MOV22H,R1;(40H)(72H)执行结果:(22H)=68H,;(22H)(51H),(4)以寄存器间接地址为目的操作数的指令,功能把源操作数送入由R0或R1指出的存储单元格式MOVRi,A;(Ri)(A)MOVRi,direct;(Ri)(direct)MOVRi,data;(Ri)data例若(R1)=30H,(A)=20H,指令为:MOVR1,A执行结果:(R1)=_H、(30H)=_H,20,30,(5)16位数据传送指令,功能把16位常数送入DPTR高位DPH低位DPL格式MOVDPTR,#data16;(DPTR)#data16例MOVDPTR,#1342H;执行后(DPTR)=1342H;(DPH)=13H、(DPL)=24H,(6)堆栈操作指令,功能、格式PUSH进栈PUSHdirect;(SP)(SP)+1,(SP)(direct)POP出栈POPdirect;(direct)(SP),(SP)(SP)-1注意:堆栈是一个“先进后出”的区域在内部RAM中,操作数只能使用直接寻址方式不能使用其他方式,例1正确指令错误指令PUSHACCPUSHAPUSH00HPUSHR0POPACCPOPAPOP00HPOPR0,?,例2进入中断服务子程序时的处理现场保护若保护PSW、累加器A、数据指针DPTR设保护前:(PSW)=78H、(A)=56H、(DPTR)=1234H堆栈保护程序PUSHPSWPUSHACCPUSHDPLPUSHDPH,63H,62H,61H,60H,64H,SP,保护前,SP,PUSHPSW后,SP,PUSHACC后,SP,PUSHDPL后,SP,PUSHDPH后,78H,56H,34H,12H,MCS-51提供一个向上升的堆栈;SP设置初值时要充分考虑堆栈的深度。,现场恢复堆栈恢复程序POPDPHPOPDPLPOPACCPOPPSW,63H,62H,61H,60H,64H,SP,POPPSW后,SP,POPACC后,SP,POPDPL后,SP,POPDPH后,SP,恢复前,78H,56H,34H,12H,设恢复前:(PSW)=0AH(A)=0BH(DPTR)=09ABCH,(PSW)=0AH,(A)=0BH,(DPTR)=09ABCH(PSW)=0AH,(A)=0BH,(DPTR)=012BCH(PSW)=0AH,(A)=0BH,(DPTR)=01234H(PSW)=0AH,(A)=56H,(DPTR)=01234H(PSW)=78H,(A)=56H,(DPTR)=01234H,(7)字节交换指令,功能、格式XCHA,Rn;(A)RnXCHA,direct;(A)(direct)XCHA,Ri;(A)(Ri)XCHDA,Ri;(A30)(Ri)30)SWAPA;(A30)(A74),例1若(ACC)=71H,(R0)=23H,(23H)=76H指令:XCHDA,R0;(A30)(Ri)30)结果:(A)=_H(R0)=_H(23H)=_H例2若(A)=092H指令:SWAPA结果:(A)=_H,76,23,71,29,小结:片内(核内)数据传送指令,课本P55,2.访问外部RAM或I/O的数据传送,功能CPU与外部RAM或I/O接口间传送数据必须:寄存器间接寻址,并通过累加器A传送格式MOVXA,DPTR;(A)(DPTR)MOVXA,Ri;(A)(Ri)MOVXDPTR,A;(DPTR)(A)MOVXRi,A;(Ri)(A),注意:,一个8位的字节传送,通过ADPTR间址(16位地址)高8位地址DPHP2低8位地址DPLP0R0、R1间址高8位地址P2低8位地址R0或R1P0读/写信号片外RAM或I/OA:P3.7读信号:/RDA片外RAM或I/O:P3.6写信号:/WR,读,写,例1若(DPTR)=3000H,(3000H)=30HMOVXA,DPTR;A(DPTR)结果:(A)=30H例2若(P2)=20H,(R1)=48H,(A)=66HMOVXR1,A;(R1)(A)结果:(2048H)=66H,例3试编程,将片外RAM的2000H单元内容送入片外RAM的0200H单元中。解MOVDPTR,#2000H;源地址送DPTRMOVXA,DPTR;从外部RAM取数送AMOVDPTR,#0200H;目的地址送DPTRMOVXDPTR,A;A中内容送外部RAM,3.程序存储器(ROM)到累加器(A)的传送,功能查表指令查找ROM中的常数表格,只能读,不能写格式(单字节指令)MOVCA,A+PC;(PC)(PC)1;(A)(A)(PC)MOVCA,A+DPTR;(PC)(PC)1;(A)(A)(DPTR)表格长度:,256B,?,例1若(PC)=1001H,(A)=40H,(1042H)=56HMOVCA,A+PC结果:(A)=_H,(PC)=_H例2若(DPTR)=3201H,(A)=47H,(3248H)=0FEHMOVCA,A+DPTR结果:(A)=_H,(DPTR)=_H,56,1002,0FE,3201,例3已知:累加器A中有一个09范围内的数,使用查表指令编程查找出该数的平方值,设:查8的平方值。,用DPTR作为基址寄存器MOVDPTR,#_HMOVA,#_HMOVCA,A+DPTR,ROM中09的平方表,2000,08,用PC作为基址寄存器地址机器码源代码注释|1FFBH|24HDATA|ADDA,#data|;(A)(A)+#data1FFDH|83H|MOVCA,A+PC|;(PC)(PC)+1|;(A)(A)+(PC)1FFEH|80FEH|SJMP$|;等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论