单字节指令 无操作数的单字节指令 操作码 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位目标地址