欢迎来到天天文库
浏览记录
ID:20604162
大小:1.62 MB
页数:60页
时间:2018-10-14
《单片机指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三部分80C51的指令系统MCS-51的指令系统共有111条指令,按其功能可分为五大类:§3.1指令系统简介数据传送类指令(28条)算术运算类指令(24条)逻辑运算类指令(25条)控制转移类指令(17条)布尔操作(位)类指令(17条)指令的表示方法称为指令格式,其内容包括指令的长度和指令内部信息的安排等。一条指令通常由操作码和操作数两部分组成。指令格式指令的长度有单字节、双字节和三字节等。NOPINCR0MOVR0,R7操作码[操作数];[注释]寄存器工作组(由RS1、RS0选择)位寻址区(16*8=128位)普通RAM共80个字节§
2、3.2寻址方式Rn工作寄存器,可以是R0-R7中的任意一个。#data8位立即数,在00H~FFH范围内。如#12H。direct片内RAM单元的直接地址。RiR0或R1。#data16表示16位立即数。如:1234H。@DPTR表示以DPTR为数据指针进行间接寻址。用于对片外地址寻址。bit位地址。如SETBbit。addr16表示16位地址。addr11表示11位地址。rel补码形式的表示8位地址偏移量。$表示当前指令的地址。A累加器BB寄存器C进位位@间址寄存器的前缀标志2、直接寻址1、立即寻址4、寄存器间接寻址3、寄存器寻址5、
3、相对寻址7、位寻址6、变址寻址七种寻址方式:2、直接寻址直接寻址是指在指令中直接给出操作数单元的地址。MOVA,3AH1、立即寻址例如:MOVA,#3AHMOVDPTR,#data16直接寻址是访问特殊功能寄存器的唯一方法。立即数前面加“#”片内RAM地址例如:INCR03、寄存器寻址寄存器寻址的寻址范围包括:(1)四个寄存器组共32个通用寄存器(2)部分特殊功能寄存器寄存器间接寻址是指在指令中要到寄存器的内容所指的地址去取操作数。即寄存器中放的是操作数的地址。在寄存器的名称前面加前缀“@”。只能使用R0或R1。4、寄存器间接寻址例如:
4、ANLA,@R1寄存器间接寻址的范围:(1)片内RAM低128单元:这里只能使用R0或R1为间址寄存器,其通用形式写为@Ri(i=0,1)。MOVA,@R0(3)片外RAM低256单元:也可使用R0或R1作间址寄存器。例如:MOVXA,@R0(2)片外RAM64KB:使用DPTR作为间址寄存器,其形式为@DPTR,例如:MOVXA,@DPTR5、相对寻址相对寻址是指在指令中给出的操作数为程序转移的偏移量。相对寻址是为实现程序的相对转移而设立的,为相对转移指令所采用。目的地址=转移指令所在地址十转移指令字节数十relrel是一个带符号的8
5、位二进制补码数,范围是:-128~+127。偏移量为正时,往地址增大的方向,为负时,向地址减小的方向。例如:JC03H;假设当前PC值为1000H转移地址为:1000H+2H+(03H)=1005H转移指令字节数JC03H的机器码为40H、03H偏移量变址寻址是指以DPTR或PC作基址寄存器,累加器A作变址寄存器,以两者内容相加形成的16位程序存储器地址作为操作数地址。又称基址寄存器+变址寄存器间接寻址。6、变址寻址(基址寄存器+变址寄存器间接寻址)假设:(A)=E0H,(DPTR)=2000H操作数地址为E0H十2000H=20E0H
6、,若20E0H单元的内容为47H,则该指令执行的结果是A的内容为47H。MOVCA,@A+DPTRMOVCA,@A+PC7、位寻址位寻址的范围:(1)片内RAM中的位寻址区(2)可位寻址的特殊功能寄存器位寻址位在指令中有四种表示方法:(1)直接使用位地址表示方法。SETB8DH(2)单元地址加位的表示方法。SETB88H.5;88H单元的位5(3)特殊功能寄存器符号加位的表示方法。SETBPSW.5PSW寄存器的位5,则表示为PSW.5。(4)位名称表示方法,特殊功能寄存器中的一些寻址位是有名称的。SETBF0PSW寄存器位5为F0标志
7、位。操作数寻址方式和有关空间寻址方式寻址空间立即寻址程序存储器ROM直接寻址片内RAM低128B和特殊功能寄存器SFR寄存器寻址工作寄存器R0~R7,A,B,CY,DPTR寄存器间接寻址片内RAM低128B[@R0,@R1],片外RAM(@R0,@R1,@DPTR)变址寻址程序存储器(@A+PC,@A+DPTR)相对寻址程序存储器+127B~-128B范围(PC+偏移量)位寻址片内RAM的20H~2FH字节地址和部分特殊功能寄存器SFR§3.3数据传送指令数据传送指令共有28条。按照功能又可分为:一般传送指令、目的地址传送指令、累加器传
8、送指令和栈操作传送指令。一般传送指令格式MOV<目的字节>,<源字节>MOVX<目的字节>,<源字节>MOVC<目的字节>,<源字节>它的功能是把源字节的内容送到目的字节,而源字节的内容不变。1、以累加器A
此文档下载收益归作者所有