第3章 MCS-51单片机指令系统
MCS-51单片机指令系统简介
MCS-51单片机指令系统
汇编语言程序设计
MCS-51汇编语言实用程序设计(略)
退出
MCS-51单片机指令系统简介
MCS-51单片机能够识别并执行的指令共有111条。这111条指令,构成了MCS-51单片机的指令系统。
MCS-51单片机指令系统的分类
1、MCS-51单片机指令系统按指令所占的字节数可分为以下三类:
(1)单字节指令(49条)
(2)双字节指令(46条)
(3)三字节指令(16条)
2、按指令的执行时间可分为以下三类:
(1) 单周期指令(65条)
(2) 双周期指令(44条)
(3) 四周期指令(2条)
3、按指令的功能可分为以下五类:
(1) 数据传送类指令(29条)
(2) 算术运算类指令(24条)
(3) 逻辑运算类指令(24条)
(4) 控制转移类指令(17条)
(5) 位操作类指令(17条)
指令格式
MCS-51单片机汇编语言指令由操作码和操作数两部分组成。
指令格式为:操作码[操作数]
指令中的常用符号
· Rn: 表示当前工作寄存器R0~R7中的一个。
· ***@Ri: 表示寄存器间接寻址,常常作间接寻址的地址指针。其中Ri代表R0和R1寄存器中的一个。
· Direct: 表示内部数据存贮器单元的地址及特殊功能寄存器SFR的地址,对SFR而言,既可使用它的物理地址,也可直接使用它的名字。
· #date: 表示8位立即数,即8位常数,取值范围为#00H~#0FFH
·#date16: 表示16位立即数,即16位常数,取值范围为#0000H~#0FFFFH
· addr16: 表示16位地址
· addr11: 表示11位地址
· rel: 用补码形式表示的地址偏移量,取值范围为-128~+127。
· Bit: 表示内部RAM和SFR中的具有位寻址功能的位地址。SFR中的位地址可以直接出现在指令中,为了阅读方便,往往也可用SFR的名字和所在的数位表示。如:表示PSW中奇偶校验位,可写成D0H,。
· @: 表示间接寻址寄存器或基址寄存器的前缀符号。
· $: 表示当前指令的地址。
寻址方式
1、立即寻址
立即寻址是将操作数直接存放在指令中,作为指令的一部分存放在代码段里。立即寻址中的数,称为立即数。
例如指令:MOV A,#30H
2、直接寻址
直接寻址是将操作数的地址直接存放在指令中。这种寻址方式的操作数只能存放在内部数据存贮器和特殊功能寄存器中。
例如:MOV A,30H
3、寄存器寻址
寄存器寻址是指操作数存放在以上所说的寄存器中,并且寻址时的寄存器已隐含在指令的操作码中。
例如:MOV A,R0
4、寄存器间址
寄存器间址是指操作数存放在以寄存器内容为地址的单元中
例如:MOV A,***@R0
5、变址寻址
变址寻址是指操作数存放在变址寄存器和基址寄存器的内容相加形成的数为地址的单元中。其中累加器A作变址寄存器、程序计数器PC或寄存器DPTR作基址寄存器。
例如: MOVC A, ***@A+DPTR
6、相对寻址
相对寻址是将程序计数器PC的当前值与指令第二字节给出的偏移量相加,从而形成转移的目标地址。
例如:JZ 61H
7、位寻址
位寻址,是指对片内RAM中20H~2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址寻址。
例如:位寻址指令MOV C,20H,此指令是将RAM中位寻址区20H位地址中的内容,送给位累加器C。字节地址寻址指令:MOV A,20H,此指令是将内部RAM中20H单元中的内容送给累加器A。
第3章 MCS-51单片机指令系统 来自淘豆网m.daumloan.com转载请标明出处.