片微型计算机原理与接口技术第二版第3章80C51单片微机的指令系统

片微型计算机原理与接口技术第二版第3章80C51单片微机的指令系统

ID:39830082

大小:1.85 MB

页数:154页

时间:2019-07-12

片微型计算机原理与接口技术第二版第3章80C51单片微机的指令系统_第1页
片微型计算机原理与接口技术第二版第3章80C51单片微机的指令系统_第2页
片微型计算机原理与接口技术第二版第3章80C51单片微机的指令系统_第3页
片微型计算机原理与接口技术第二版第3章80C51单片微机的指令系统_第4页
片微型计算机原理与接口技术第二版第3章80C51单片微机的指令系统_第5页
资源描述:

《片微型计算机原理与接口技术第二版第3章80C51单片微机的指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、普通高等教育“十一五”国家级规划教材单片微型计算机原理与接口技术(第二版)高锋编著科学出版社北京第三章80C51单片微机的指令系统3.180C51指令系统概述80C51指令系统专用于80C51系列单片微机,是一个具有255种操作码(00H至FFH,除A5H外)的集合。用汇编语言表达操作代码时,42种助记符代表了33种功能,有的功能如数据传送,可以有几种助记符,如MOV、MOVC、MOVX。指令功能助记符与操作数各种寻址方式的结合,共构造出111种指令,同一种指令所对应的操作码可以多至8种(如指令中Rn对应寄存器R0~R7)。寻址方式就

2、是在指令中给出的寻找操作数或操作数所在地址的方法。执行任何一条指令都需要使用操作数。80C5l指令系统中共有7种寻址方式。3.1.1寻址方式⒈立即寻址在指令中直接给出操作数,出现在指令中的操作数称为立即数。在立即数前面必需加上前缀“#”。例如:指令MOVDPTR,#1234H1234H是立即数,指令功能是把16位立即数1234H送入数据指针DPTR中,如图3–1所示。2.直接寻址在指令中直接给出操作数单元的地址。例如:指令MOVA,3AH功能:把片内RAM中3AH单元内的数据传送给累加器A,如图3–2所示。直接寻址方式只能给出8位地址

3、,限于片内RAM:⑴低128单元,在指令中直接以单元地址形式给出。⑵特殊功能寄存器,可以单元地址形式给出外,还可以寄存器符号形式给出。直接寻址是访问特殊功能寄存器的唯一方法。3.寄存器寻址在指令中将指定寄存器的内容作为操作数。寄存器寻址方式中,用符号名称来表示寄存器。例如:指令INCR0功能∶把寄存器R0的内容加1,再送回R0中。由于操作数在R0中,指定了R0,也就得到了操作数,如图3–3所示。寄存器寻址方式的寻址范围包括:(1)4个寄存器组共32个通用寄存器。指令中只能使用当前寄存器组。通过指定PSW中的RS1、RS0,以选择使用的

4、当前寄存器组。(2)部分特殊功能寄存器。例如累加器A、AB寄存器对以及数据指针DPTR。4.寄存器间接寻址在指令中给出的寄存器内容是操作数的地址,从该地址中取出的才是操作数。寄存器间接寻址也需以寄存器符号名称的形式表示。在寄存器间接寻址中,在寄存器的名称前面加前缀“@”。例如:指令ANLA,@R1假定R1寄存器的内容是60H,指令的功能是以R1寄存器的内容60H为地址,将60H地址单元的内容与累加器A中的数相“与”,其结果仍存放在A中、其功能示意请参见图3–4。寄存器间接寻址的寻址范围:⑴片内RAM的低128单元,只能采用R0或R1为

5、间址寄存器。其形式为@Ri(i=0,1)。⑵片外RAM的64KB单元,使用DPTR作为间址寄存器。例如∶MOVXA,@DPTR。⑶片外RAM低256单元,使用R0或R1作间址寄存器。例如:MOVXA,@R0。⑷堆栈区:堆栈操作指令PUSH和POP,以SP作间址寄存器的间接寻址方式。⒌相对寻址在指令中给出的操作数为程序转移的偏移量。在相对转移指令中,给出地址偏移量(以“rel”表示),把PC的当前值加上偏移量就构成了程序转移的目的地址。转移的目的地址可用如下公式表示:目的地址=(转移指令所在地址+转移指令字节数)+rel在8051的指令

6、系统中,有许多条相对转移指令,这些指令多数均为两字节指令.只有个别的是三字节的指令。偏移量rel是一个带符号的8位二进制补码数,所能表示的数的范围是一128~+127。因此,以相对转移指令的所在地址为基点,向前最大可转移(127十转移指令字节数)个单元地址,向后最大可转移(128一转移指令字节数)个单元地址。例如:指令JC80H若进位位C为0,则程序计数器PC中的内容加2,即顺序往下;若进位位C为1,则以程序计数器PC中当前值为基地址,加上偏移量80H后所得结果作为该转移指令的目的地址,其执行示意图如图3–5所示。指令的操作码存在10

7、00H单元,偏移量存在1001H单元。执行该指令后,程序计数器PC指向1002H(即当前值)。这里80H即–128,故1002H与–128(80H)相加(补码运算)后得到转移地址0F82H。1002H-80H0F82H6.变址寻址以DPTR或PC为基址寄存器,累加器A为变址寄存器,以两者内容相加后形成的16位程序存储器地址作为操作数地址。又称基址寄存器+变址寄存器间接寻址。例如:MOVCA,@A+DPTR其功能是把DPTR和A的内容相加所得到的程序存储器地址单元的内容送A。假定指令执行前(A)=54H,(DPTR)=1256H则该指令

8、的操作示意请参见图3–6。变址寻址形成的操作数地址为1256H+54H=12AAH,若12AAH单元的内容为00H,则该指令执行的结果是A的内容为00H。80C51指令系统中的变址寻址指令有如下特点:⑴变址寻址方式只能对

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

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

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