第2章 mcs-51指令系统

第2章 mcs-51指令系统

ID:1511378

大小:246.50 KB

页数:59页

时间:2017-11-12

第2章  mcs-51指令系统_第1页
第2章  mcs-51指令系统_第2页
第2章  mcs-51指令系统_第3页
第2章  mcs-51指令系统_第4页
第2章  mcs-51指令系统_第5页
资源描述:

《第2章 mcs-51指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章MCS-51指令系统2.1MCS-51汇编语言指令的格式汇编指令格式标号:操作码目的操作数,源操作数;注释标号—该指令的符号地址,表明指令所在位置,小于8个字符,可选。操作码—命令CPU进行操作的助记符。操作数—操作码的作用对象,一般有目的操作数和源操作数,也有的指令只有单操作数或没有操作数。注释—对该指令功能的解释。用“;”与前面的指令分开。MCS-51汇编语言指令的格式指令的分类:按指令代码长度分:单字节、双字节、三字节。按功能分类:数据传送类(28条)算术运算类(24条)逻辑运算和移位类(25条)控制转移类(17条)

2、位操作类(17条)。指令寻址方式寻找操作数地址的方法称为寻址方式。MCS-51指令系统的寻址方式有下列几种:①立即寻址②直接寻址③寄存器寻址④寄存器间接寻址⑤基寄存器加变址寄存器间接寻址⑥相对寻址⑦位寻址立即寻址方式指令的源操作数是个数值例:MOVA,#0FBH;(A)←立即数0FBHADDA,#09H;(A)←(A)+立即数09H注意:符号“#”表明其后跟的是立即数,立即数——就是数字量本身直接寻址方式指令中的操作数是以其所在单元地址的形式给出。仅限于在RAM空间寻址,即内部数据存储器RAM的低128个字节单元(00H~7FH

3、)和特殊功能寄存器(SFR)。例MOVA,31H寄存器寻址操作数是放在寄存器中的,找到了寄存器就可得到操作数。例MOVA,R2寄存器间接寻址寄存器的内容不是操作数本身,而是存放操作数的地址,由这个地址再去寻找操作数。只能使用寄存器R0或R1作为间接地址寄存器。用符号“@”表示是采用间接寻址方式。例MOVA,@R0基址寄存器加变址寄存器间接寻址基址寄存器(DPTR或PC)和变址寄存器A的内容作为无符号数相加形成16位的地址,该地址单元中才是所需的操作数。例MOVCA,@A+DPTR(指令码是93H)相对寻址以当前指令的位置(PC值

4、)为基准点,加上指令中给出的相对偏移量(rel)来获得操作数所在的实际地址。例0500H:JCrel设rel=05H,这条指令在ROM中占两个单元,执行完后,PC=0500H+2=0502H,那么目的地址=当前PC+rel=0502H+05H=0507H符号“rel”表示“偏移量”,是一个带符号的单字节数,范围是:-128—+127(80H—7FH),位寻址指令中直接给出了操作数所在的位地址位地址表示一个可作位寻址的单元,其数据只能是1位0或1例(1)MOVACC.7,07H将位地址单元07H的数值送累加器A的第7位,位地址07

5、H是单元地址20H的第7位,即20H.7。(2)CLRC;将PSW的第7位CY清零2.2数据传送类指令1.一般数据传送指令按照数据传送的目的地址的不同,分为传送到累加器型、传送到寄存器型、传送到直接地址型和传送到寄存器间接寻址型。传送到累加器MOVA,#data;A←dataMOVA,direct;A←(direct)MOVA,Rn;A←(Rn)MOVA,@Ri;A←((Ri))MOVA,#0A9HMOVA,69HMOVA,R1MOVA,@R0传送到寄存器MOVRn,direct;Rn←(direct)MOVRn,A;Rn←(A

6、)MOVRn,#data;Rn←data传送到直接寻址单元MOVdirect,A;direct←(A)MOVdirect,Rn;direct←(Rn)MOVdirect,#data;direct←dataMOVdirect,@Ri;direct←((Ri))MOVdirect,direct;direct←(direct)MOVR2,5FHMOVR2,AMOVR2,#5FHMOV5FH,AMOV5FH,R5MOV5FH,#FFHMOV5FH,@R0MOV5FH,30H传送到间接寻址单元MOV@Ri,A;(Ri)←(A)MOV@Ri

7、,direct;(Ri)←(direct)MOV@Ri,#data;(Ri)←data只有R0、R1可以作为间接寻址寄存器。2.栈操作指令PUSHdirect;入栈指令POPdirect;出栈指令堆栈操作原则:“先进后出、后进先出”MOV@R0,5FHMOV@R0,AMOV@R0,#5FHPUSHACCPUSHB……POPBPOPACC3.数据交换指令字节交换指令XCHA,Rn;XCHA,direct;XCHA,@Ri;半字节交换指令XCHDA,@Ri;功能:源操作数和目的操作数单元的数据进行交换(A)0~3和((Ri))0~3

8、相互交换4.外部数据传送指令16位数传送指令MOVDPTR,#data16;DPTR←#data16该指令一般用于地址赋值,常配合外部ROM、RAM数据传送使用。累加器与外部RAM的数据传送指令MOVXA,@Ri;A←((Ri))MOVX@Ri,A;(Ri)←(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。