第三章MCS-51单片机指令系统 ■3.1概述 ■3.2寻址方式 3.3指令系统
第三章 MCS-51单片机指令系统 单片机指令系统 3.1 概 述 3.2 寻址方式 3.3 指令系统
3.1概述 ■指令:计算机能直接识别和执行的命令。 ■指令系统:一台计算机所能执行的全部指令的 集合。 ■指令格式: ·汇编语言指令格式 ·机器语言指令格式
3.1 概述 指令: 计算机能直接识别和执行的 计算机能直接识别和执行的命令。 指令系统: 一台计算机所能执行的全部 一台计算机所能执行的全部指令的 集合。 指令格式: 汇编语言指令格式 汇编语言指令格式 机器语言指令格式
汇编语言指令 条用助记符表示的汇编语言指令 操作码 操作数 指令的功能 指令的操 作对象
一条用助记符表示的汇编语言指令 一条用助记符表示的汇编语言指令 操作码 操作数 指令的功能 指令的操 作对象 汇编语言指令
汇编语言指令格式 标号:操作码助记符 目的操作数,源操作数;注释 例如: L00p:ADDA,#10H;(A)+10H->A
汇编语言指令格式 汇编语言指令格式 标号:操作码助记符 标号:操作码助记符 目的操作数, 源操作数;注释 例如: Loop :ADD A, #10H ADD A, #10H ; (A)+10H ; (A)+10H —> A
机器语言指令格式 单字节: 操作码 或 操作码 操作数或寻址方式 双字节: 操作码 操作数或寻址方式 三字节: 操作码 操作数或寻址方式 操作数或寻址方式 例:ADDA,#10H 机器码 00100100 操作码24H 00010000 操作数10H
双字节: 单字节: 操作码 操作码 操作数或寻址方式 操作码 操作数或寻址方式 三字节: 操作码 操作数或寻址方式 操作数或寻址方式 例:ADD A,#10H 或 机器语言指令格式 机器语言指令格式
单字节指令 无操作数的单字节指令 操作码 00000000 NOP 10100011 INC DPTR ■含有操作数寄存器号的单字节指令 11101rrr MOV A,R 操作码寄存器编码
单字节指令 无操作数的单字节指令 无操作数的单字节指令 含有操作数寄存器号的单字节指令 含有操作数寄存器号的单字节指令 0 0 0 0 0 0 0 0 操作码 NOP 1 0 1 0 0 0 1 1 INC DPTR 1 1 1 0 1 r r r MOV A, Rn 操作码 寄存器编码
双字节指令 MOV A.#data 第一字节 01110100 操作码 第二字节 data 操作数 MOV A,direct 第一字节 11100101 操作码 第二字节 direct 操作数
双字节指令 0 1 1 1 0 1 0 0 操作码 MOV A, #data data 操作数 第一字节 第二字节 1 1 1 0 0 1 0 1 操作码 MOV A, direct direct 操作数 第一字节 第二字节
三字节指令 MOV DPTR,#data 16 MOV direct,#data 第一字节 操作码 操作码 第二字节 datal5-8 高8位数 direct 地址 第三字节 data7-0 低8位数 data 数 CJNZ A,#data,rel ACALL addr16 操作码 操作码 data 数 addr15-8 高8位地址 direct(rel) 地址 addr7-0 低8位地址
三字节指令 MOV DPTR, #data 16 MOV direct, #data CJNZ A, #data, rel ACALL addr16 data15-8 data7-0 第一字节 第二字节 第三字节 操作码 高8位数 低8位数 direct 操作码 data 地址 数 操作码 direct(rel) data 数 地址 操作码 addr7-0 addr15-8 高8位地址 低8位地址
按指令功能分类 MCS-51指令功能分类 数据传送指令 算数运藓指令 逻辑运藓指令 位操作指令 控制啭移指令 (29条) (24条) (24条) (17条) (17条) 按指令字长分类 按指令执行时间分类 MCS-51指令字长分类 MCS-1指令执行时间盼类 单字节指令 双字节指令 三字节指令 单机,器周期指令 双机器周期指令 四机器周期指令 (49条) (46条) (16条) (64条) (45条) (2条)
按指令功能分类 按指令功能分类 按指令字长分类 按指令字长分类 按指令执行时间分类 按指令执行时间分类
指令描述符号 Rn 工作寄存器R,~R7,=0~7 @Ri 只能是R或R1,所以i=0,1 #data 8位立即数,数据范围0OH~FFH #datal6 16位立即数,数据范围0000H~FFFFH direct 8位直接地址,表示直接寻址方式 addr16 16位目标地址 addrl1 11位目标地址
指令描述符号 Rn 工作寄存器 R 0 ~ R 7 ,n=0 ~ 7 @Ri 只能是 R 0 或 R 1 ,所以i=0 , 1 #data #data 8位立即数,数据范围 位立即数,数据范围00 H ~FFH #data16 #data16 16位立即数,数据范围 位立即数,数据范围0000 H ~FFFFH direct direct 8位直接地址,表示直接寻址方式 位直接地址,表示直接寻址方式 addr16 16位目标地址 addr11 11位目标地址