指令格式及其符号说明 2)8位地址和8位数据 例如:MOV74H,#OFFH 指令码为 位 D7 D6 D5 D4 D3 D2 DI DO 十六进制码 操作码 0 0 0 1 操作数(地址) 75H74H 0 1 0 0 0 FFH 操作数(立即数) 1 1 1 1 1 1 1 1
指令格式及其符号说明 2) 8位地址和8位数据 例如:MOV 74H,#0FFH 指令码为 位 D7 D6 D5 D4 D3 D2 D1 D0 十六进制码 操作码 0 1 1 1 0 1 0 1 75H 74H FFH 操作数(地址) 0 1 1 1 0 1 0 0 操作数(立即数) 1 1 1 1 1 1 1 1
指令格式及其符号说明 3)8位数据和8位地址 例如:CJNE A,#00,60H 指令码为 位 D7 D6 D5 D4 D3 D2 DI DO 十六进制码 操作码 1 0 1 1 0 1 0 0 B4H 00H 操作数(立即数) 0 0 0 0 0 0 60H 操作数(地址) 0 1 1 0 0 0 0 0
指令格式及其符号说明 3) 8位数据和8位地址 例如:CJNE A,#00,60H 指令码为 位 D7 D6 D5 D4 D3 D2 D1 D0 十六进制码 操作码 1 0 1 1 0 1 0 0 B4H 00H 60H 操作数(立即数) 0 0 0 0 0 0 0 0 操作数(地址) 0 1 1 0 0 0 0 0
3.1 指令格式及其符号说明 4)16位地址 例如:LCALL2020H 指令码为 位 D7 D6 D5 D4 D3 D2 DI DO 十六进制码 操作码 0 0 0 1 0 0 1 0 操作数(地址高) 12H20H 0 0 1 0 0 0 0 20H 操作数(地址低) 0 0 1 0 0 0 0 0 程序设计中,应尽可能选用字节少的指令。这 样,指令所占存储单元少,执行速度也快
3.1 指令格式及其符号说明 4) 16位地址 例如:LCALL 2020H 指令码为 程序设计中,应尽可能选用字节少的指令。这 样,指令所占存储单元少,执行速度也快。 位 D7 D6 D5 D4 D3 D2 D1 D0 十六进制码 操作码 0 0 0 1 0 0 1 0 12H 20H 20H 操作数(地址高) 0 0 1 0 0 0 0 0 操作数(地址低) 0 0 1 0 0 0 0 0
3.1 指令格式及其符号说明 ·MCS-51单片机的助记符语言 为了便于人们识别、读/写、记忆和交流用英 文单词或缩写字母来表征指令功能,这些指令的 助记符形式称为汇编语言指令,常用于汇编语言 源程序的程序设计。 MCS-51单片机制造厂家对每一条指令都给 出了助记符。不同的指令,具有不同的功能和不 同的操作对象。如图表3-1MCS-51助记符意义
3.1 指令格式及其符号说明 • MCS-51单片机的助记符语言 为了便于人们识别、读/写、记忆和交流用英 文单词或缩写字母来表征指令功能,这些指令的 助记符形式称为汇编语言指令,常用于汇编语言 源程序的程序设计。 MCS-51单片机制造厂家对每一条指令都给 出了助记符。不同的指令,具有不同的功能和不 同的操作对象。如图表3-1 MCS-51助记符意义
助记符 意义 助记符 意义 MOV 送数 MUL 乘法 MOVC ROM送累加器(A) DIV 除法 MOVX 外部送数 DA 十进制调整 PUSH 压入堆栈 AJMP 绝对转移 POP 堆栈弹出 LJMP 长转移 XCH 数据交换 SJMP 短转移 XCHD 交换低4位 JMP 相对转移 ANL 与运算 JZ 判累加器A为0转移 ORL 或运算 JNZ 判累加器A非0转移 XRL 异或运算 JC 判CY为0转移 SETB 置位 JNC 判CY非0转移 CLR 清0 JB 直接位为1转移 CPL 取反 JNB 直接位为0转移 RL 循环左移 JBC 直接位为1转移,并清该位 RLC 带进位循环左移 CJNE 比较不相等转移 RR 循环右移 DJNZ 减1不为0转移 RRC 带进位循环右移 ACALL 绝对调用子程序 SWAP 高低半字节交换 LCALL 长调用子程序 ADD 加法 RET 子程序返回 ADDC 带进位加法 RETI 中断子程序返回 SUBB 带进位减法 NOP 空操作 hn1 1
助记符 意 义 助记符 意 义 MOV 送数 MUL 乘法 MOVC ROM送累加器(A) DIV 除法 MOVX 外部送数 DA 十进制调整 PUSH 压入堆栈 AJMP 绝对转移 POP 堆栈弹出 LJMP 长转移 XCH 数据交换 SJMP 短转移 XCHD 交换低4位 JMP 相对转移 ANL 与运算 JZ 判累加器A为0转移 ORL 或运算 JNZ 判累加器A非0转移 XRL 异或运算 JC 判CY为0转移 SETB 置位 JNC 判CY非0转移 CLR 清0 JB 直接位为1转移 CPL 取反 JNB 直接位为0转移 RL 循环左移 JBC 直接位为1转移,并清该位 RLC 带进位循环左移 CJNE 比较不相等转移 RR 循环右移 DJNZ 减1不为0转移 RRC 带进位循环右移 ACALL 绝对调用子程序 SWAP 高低半字节交换 LCALL 长调用子程序 ADD 加法 RET 子程序返回 ADDC 带进位加法 RETI 中断子程序返回 SUBB 带进位减法 NOP 空操作 INC 加1 DEC 减1