MCS-51的指令系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 MCS-51的指令系统 章 的指令系统
3.1 指令系统概述
单片机所能执行的命令的集合就是它的指令系统 基本指令111条,按在存储器所占的字节来分: 基本指令 条 按在存储器所占的字节来分:
(1)单字节指令49条 1 49 (2)双字节指令45条 (3)三字节指令17条
按指令的执行时间来分: 按指令的执行时间来分:
2、直接寻址方式 操作数直接以单元地址的形式给出。地址中的 内容就是操作数。只能使用8 内容就是操作数。只能使用8位二进制数表示 的地址。 如:MOV A,40H , 寻址范围: 寻址范围: (1)内部RAM的128个单元 )内部RAM的128个单元 (2)特殊功能寄存器
3、寄存器间接寻址方式
寄存器中存放的是操作数的地址,即先从寄存器中找 到操作数的地址,再按该地址找到操作数。 A, ;i=0或1 i=0或 如:MOV A,@Ri 寻址范围: 寻址范围: (1)访问内部RAM低128B,通用形式为@Ri )访问内部RAM低128B,通用形式为@Ri (2)对片外数据存储器64KB的间接寻址,只能使用 )对片外数据存储器64KB的间接寻址,只能使用 DPTR,形式为@DPTR DPTR,形式为@DPTR (3)片外数据存储器低256B,除DPRT外,也可用R0 )片外数据存储器低256B,除DPRT外,也可用R0 或R1。(使用MOVX A,@Ri) R1。(使用MOVX @Ri) (4)关于堆栈的操作。
(1)1ቤተ መጻሕፍቲ ባይዱ机器周期,64条 (2)2个机器周期,45条 (3)4个机器周期,2条
3.2 指令格式
指令的表示方法称为指令格式 指令组成:操作码+操作数 指令组成:操作码 操作数 指令长度不同,指令格式不同: 指令长度不同,指令格式不同:
(1)单字节:操作码和操作数在1B中。 (2)双字节:1B为操作码,1B为操作数。 (3)三字节:1B为操作码,2B为操作数。
虽然MCS−51单片机的寻址方式有多种,但指令 − 单片机的寻址方式有多种 单片机的寻址方式有多种, 虽然 对哪一个存贮器空间进行操作是由指令的操作码和 寻址方式确定的。总的来说,具有以下几点原则: 寻址方式确定的。总的来说,具有以下几点原则:
存贮器只能采用立即寻址和 (1)对程序存贮器只能采用立即寻址和基寄存器加变址寄存器 ) 程序存贮器只能采用立即寻址 间接寻址寻址方式。 间接寻址寻址方式。 只能采用直接寻址方式 (2)对特殊功能寄存器空间只能采用直接寻址方式(可以用符 ) 特殊功能寄存器空间只能采用直接寻址方式( 号来代表地址),不能采用寄存器间接寻址方式。 ),不能采用寄存器间接寻址方式 号来代表地址),不能采用寄存器间接寻址方式。 只能采用寄存器间接寻址方式 高 只能采用寄存器间接寻址方式, (3)内部 )内部RAM高128B只能采用寄存器间接寻址方式,不能采 用直接寻址方式。 用直接寻址方式。 既能采用寄存器间接寻址方式 寄存器间接寻址方式, (4)内部 )内部RAM低128B 既能采用寄存器间接寻址方式,又能采 低 直接寻址方式。 用直接寻址方式。 指令访问。 (5)外部扩展的数据存贮器只能采用 )外部扩展的数据存贮器只能采用MOVX指令访问。 指令访问
6、位寻址方式
对相应的位进行位寻址。 相应的位进行位寻址。 C, 如:MOV C,40H 寻址范围: 寻址范围: (1)片内RAM中20H~2FH中的128个位地址 )片内RAM中20H~2FH中的128个位地址 (00H~7FH ) 。 (2)SFR中的11个(83个位)可进行位寻址的 SFR中的11个(83个位)可进行位寻址的 寄存器中的位地址寻址(4种表示法) 寄存器中的位地址寻址(4种表示法)
7、相对寻址方式
为解决程序转移而专门设置的,为转移指令所采用。 将程序计数器PC的当前值与指令第二字节给出的偏 将程序计数器PC的当前值与指令第二字节给出的偏 移量(rel)相加,从而形成转移的目标地址。 移量(rel)相加,从而形成转移的目标地址。 如: JZ 61H 注:
(1)目的地址=转移指令所在地址+转移指令的字节数+rel )目的地址=转移指令所在地址+转移指令的字节数+rel (2)Rel是带符号的8位二进制数补码(-128~+127) Rel是带符号的8位二进制数补码(-128~+127) (3)多为双字节指令,也有个别为三字节。
3.3 指令系统的寻址方式
1、寄存器寻址方式 操作数在寄存器中,因此指定了寄存器就能得 操作数在寄存器中,因此指定了寄存器就能得 到操作数。在寄存器寻址方式的指令中以符号 到操作数。在寄存器寻址方式的指令中以符号 来表示寄存器。 A, 如:MOV A,Rn 寻址范围: 寻址范围: (1)4组通用工作寄存区共32个工作寄存器。 组通用工作寄存区共32个工作寄存器。 (2)部分特殊功能寄存器
4、立即寻址方式
操作数在指令中直接给出。 操作数在指令中直接给出。 A, 如:MOV A,#40H 注: (1)双字节指令,第二字节是立即数。 (2)操作数就是放在程序存储器内的常数。 )操作数就是放在程序存储器内的常数。
5、基址寄存器加变址寄存器间接寻址方式
用于读出程序存储器中的数据到累加器中。以 DPTR或PC作基址寄存器,以累加器A作为变址 DPTR或PC作基址寄存器,以累加器A作为变址 寄存器,并以两者内容相加形成16位 寄存器,并以两者内容相加形成16位地址作为操 作数的地址,以达到访问数据表格的目的。 A, 如:MOVC A,@A+DPTR MOVC A,@A+PC A, JMP @A+DPTR 寻址范围:只能对程序存储器进行寻址,范围 寻址范围:只能对程序存储器进行寻址,范围 64KB
相关文档
最新文档