5.3.数据传送类指令
- 格式:pptx
- 大小:1.12 MB
- 文档页数:13
1、数据传送类指令1. MOV:MOV (目的字节),(源字节);2. MOVC:和MOV用法基本相同,主要用于ROM查表,也就是基址变址中。
3. MOVX:和MOV用法基本相同,主要读写片外RAM中,也就是间接寻址,如MOVX A,@Ri 。
4. PUSH:主要用于堆栈操作中的压栈操作,例如:(SP)=07H,(40H)= 88H,执行指令PUSH 40H后,(SP)= 08H)(08H)= 88H。
其中,SP为堆栈指针,压栈之后堆栈指针加一。
5. POP:主要用于堆栈操作中的弹栈操作,(SP)= 5FH,(5FH)= 90H,执行指令POP 70H后,(70H)= 90H,(SP)= 5EH,弹栈后堆栈指针减一。
6. XCH:主要用于两个数据之间交换,例如:(R0)= 80H,(A)= 20H。
执行指令XCH A,R0后,(A)= 80H,(R0)= 20H。
7. XCHD:这个指令的主要功能是间址操作数的低半字节与A的低半字节内容相互交换。
例如:(A)= 20H,(R0)= 30H,(30H)= 67H。
执行XCHD A,@R0后(A)= 27,(30H)= 60H.8. SWAP:这个指令的功能是累加器的高、低四位进行互换。
例如:(A)= 23H,执行SWAP A指令之后(A)= 32H。
2、算术运算类指令1) 加法a) 不带进位加法影响程序状态字标志位PSW中的CY(CY是进位标志位,即和的D7为有进位时(CY)=1,否则,(CY)= 0)、AC(AC为辅助进位标志位,当D3为有进位时为1,否则为0)、OV(和的D7和D6为只有一个进位时为1,否则为0)和P(当累加器ACC中的1为奇数时为1,否则为0)例如:(A)=84H,(30H)=8DH,执行指令ADD A,30H结果A =11Hb) 带进位加法影响的程序状态字标志位与不带进位的加法相同。
表达形式为ADDCA,Rnc) 增一例如:INC A A的数值自加一d) 十进制调整当累加器A中的低4位数出现了非BCD码或第四位产生进位时,应在第四位加六调整,以产生第四位正确的BCD码结果。
8086CPU 中的数据传送类指令数据传送类指令注意点1. 除 SAHF 、POPF 指令外,其余传送类指令CPU 执⾏后,对6个状态标志均⽆影响。
也就是说,除 SAHF 、POPF 指令外,CPU 只是做了数据传送,并没有进⾏数据运算,对状态标志位⽆影响。
2. 语法规则1)⽴即数只能做源操作数2)类型⼀致3)类型明确4)当ES 、DS 、SS 做⽬的操作数时,源操作数不能是⽴即数。
5)CS 、IP 不能做⽬的操作数6)两存储器单元之间不能直接操作数据传送类指令通⽤数据传送指令-MOVmov 指令的格式为取有效地址指令-LEALEA 指令的格式为REG_16表⽰⼀个16位寄存器,理论上只要是16位即可,但是因为存放有效地址,所以最好是 BX 、BP 、SI 、DIMEM 是5种存储器寻址⽅式之⼀指明的⼀个存储器单元。
例如等同于功能⼀样。
取地址指针指令-LDS 、LES这两个指令是将双字变量MEM 内容中的⾼16位送⼊DS/ES ,低16位送⼊指定的REG16中。
这⾥REG16不允许为段寄存器。
不常⽤,了解。
以LDS 为例,格式为REG_16表⽰⼀个16位寄存器MEM 是5种存储器寻址⽅式之⼀指明的⼀个存储器单元例如得到地址指针,就可以很容易取数据MOV DST ,SRCLEA REG_16,MEMLEA BX ,data1 ;data1是变量,直接寻址找到这个存储单元把有效地址送给BXMOV BX ,OFFSET data1LDS REG_16,MEMTABLE DB 10H ,20H...LDS BX ,TABLE ;TABLE 的段地址->(DS ),TABLE 的偏移地址->(BX)Processing math: 100%MOV DX,[BX]实际中LEA⽤的⽐较多。
标志传送指令-LAHF、SAHF指令LAHF(load AH register from flags)可以将PSW寄存器中的低8位传送到AH中,指令SAHF(store AH register from flags)可以将AH 的内容传送到PSW寄存器中的低8位。
第七讲数据传送类指令教学方法:讲授法教学目的:1、熟悉数据传送的三种方式及特点2、熟悉ROM数据传送(查表)3、熟练掌握RAM数据传送教学重点、难点:堆栈操作指令、查表指令主要教学内容(提纲):一、数据传送的三种方式二、ROM数据传送三、RAM数据传送复习:1、MCS-51系列指令格式?2、六种寻址方式分别是什么?讲授要点§3-2 数据传送类指令一、内部RAM数据传送类1、一般数据传送指令回忆前述操作数描述符:A,direct,Rn,@Ri,#data,DPTR等。
经排列组合可写出下列指令:MOV A,Rn ;(A)(Rn)以下类似。
MOV A,directMOV A,@RiMOV A,#dataMOV Rn,AMOV Rn,directMOV Rn,#dataMOV direct,AMOV direct,RnMOV direct,directMOV direct,@RiMOV direct,#dataMOV @Ri,AMOV @Ri, directMOV @Ri,#dataMOV DPTR,#data16 ;唯一的16位数据传送指令。
上述指令不影响任何标志位,但PSW的P位除外。
注意:MOV Rn,RnMOV @Ri, @RiMOV Rn, @RiMOV #data, A等指令是非法指令。
2、栈操作指令PUSH directPOP direct不影响任何标志位。
PUSH direct 指令执行中,机器自动进行两步操作:(1)(SP)(SP)+ 1(2)((SP))(direct)例1、设(SP)= 09H,(DPTR)= 0123H,分析:执行PUSH DPLPUSH DPH后,各单元中的内容。
POP direct 指令执行中,机器也自动进行两步操作:(1)(direct)((SP))(2)(SP)(SP)-1例2、设(SP)= 0BH,(0BH)= 01H,(0AH)= 23H执行POP DPHPOP DPL后,各单元中的内容。
汇编指令大全1. 引言汇编语言是一种基于计算机硬件体系结构的低级语言。
它用于编写与硬件交互的程序,并且具有直接访问计算机底层硬件的能力。
汇编指令是汇编语言中的基本操作指令,用于执行各种计算机操作,如数据传输、算术运算和逻辑运算等。
本文将为您介绍一些常见的汇编指令。
2. 数据传输指令数据传输指令用于在寄存器之间或内存和寄存器之间传输数据。
2.1 MOV - 数据传送指令mov是最常见的数据传送指令之一。
它用于将数据从一个源操作数传送到一个目的操作数。
mov destination, source其中,destination是目的操作数,source是源操作数。
这两个操作数可以是寄存器、内存地址或立即数。
2.2 LEA - 加载有效地址指令lea指令用于加载一个有效地址到一个目的操作数。
lea destination, source其中,destination是目的操作数,通常为一个寄存器,source是一个内存地址。
3. 算术运算指令算术运算指令用于执行加法、减法、乘法和除法等算术运算。
3.1 ADD - 加法指令add指令用于将两个操作数相加,并将结果存储在目的操作数中。
add destination, source其中,destination是目的操作数,source是源操作数。
这两个操作数可以是寄存器或内存地址。
3.2 SUB - 减法指令sub指令用于将第二个操作数从第一个操作数中减去,并将结果存储在目的操作数中。
sub destination, source其中,destination是目的操作数,source是源操作数。
这两个操作数可以是寄存器或内存地址。
3.3 MUL - 乘法指令mul指令用于将两个操作数相乘,并将结果存储在目的操作数中。
其中,destination是目的操作数,source是源操作数。
这两个操作数可以是寄存器或内存地址。
3.4 DIV - 除法指令div指令用于将目的操作数除以源操作数,并将商存储在目的操作数中,余数存储在另一个寄存器中。
MCS-51单⽚机的指令MCS-51单⽚机的指令⼀.数据传送类指令(29条).1 通⽤传送指令(16条)格式:MOV ⽬的操作数,源操作数功能:把第⼆操作数指定的字节内容传送到第⼀操作数指定的单元中。
不影响源操作数内容,不影响别的寄存器和标志。
根据⽬的操作数的不同,通⽤传送指令⼜分为以下⼏种类型:1.1 以累加器A为⽬的操作数的传送类指令(4条)指令助记符及功能说明如下:⽬的操作数源操作数功能说明源操作数寻址⽅式MO V A, direct ;(A)←(direct)直接寻址MO V A, @Ri ;(A)←((Ri))寄存器间接寻址MO V A, Rn ;(A)←(Rn)寄存器寻址MO A, #data ;(A)←data ⽴即寻址V这类指令的功能是将源操作数送到⽬的操作数A中。
指令执⾏后的结果:除了奇偶标志P始终跟踪A中数据的奇偶性外,不影响PSW中的其他标志位。
1.2 以Rn为⽬的操作数的传送类指令(3条)指令助记符及功能说明如下:⽬的操作数源操作数功能说明源操作数寻址⽅式MOVRn, A ;(Rn)←(A) 寄存器寻址MO V Rn, direct ;(Rn)←(direct)其中,Rn是R0,…,R7中的任意⼀个。
例1 若(A)=20H,则执⾏指令MOV R3, A后,(R3)=20H。
注意:Rn寄存器之间不能直接传送数据。
如指令“MOV R1, R7”是错误的。
该类指令执⾏后,不影响PSW中的标志位。
1.3. 以直接地址directX为⽬的操作数的传送类指令(5条)指令助记符及功能说明如下:⽬的操作数源操作数功能说明源操作数寻址⽅式M OV directX, A ;(directX)←(A)寄存器寻址M directX, Rn ;(directX)←寄存器寻址OV (Rn)M OV directX, directY ;(directX)←(directY)直接寻址M OV directX, @Ri ;(directX)←((Ri))寄存器间接寻址M OV directX, #data ;(directX)←data⽴即寻址这类指令的功能是把源操作数的内容送到直接地址directX中去。
数据传送指令数据传送指令包括数据的传送、交换、堆栈数据的压入与弹出,是最基本、使用率最高的一类指令。
助记符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP共八种。
1.MOV类指令及功能(16条)这类指令的功能是从源操作数到目的操作数的数据传送。
MOV A, Rn ;Rn→A,寄存器Rn的内容送到累加器AMOV A, direct ;(direct)→A,直接地址中的内容送AMOV A, @Ri ;(Ri)→A,Ri间址的内容送AMOV A, #data ;data→A,立即数送AMOV Rn,, A ;A→Rn,累加器A中的内容送寄存器RnMOV Rn, direct ;(direct)→Rn;直接地址中的内容送RnMOV Rn, #data ;data→Rn;立即数送RnMOV direct, A ;A→(direct),A中的内容送入直接地址中MOV direct, Rn ;Rn→(direct),寄存器内容送入直接地址中MOV direct, direct ;(direct) →(direct),源操作数直接地址的内容送入;目的操作数的直接地址中MOV direct, @Ri ;(Ri)→(direct),Ri间址内容送入直接地址中MOV direct, #data ;data→(direct),立即数送入直接地址中MOV @Ri, A ;A→(Ri),A中内容送到Ri间址单元中MOV @Ri, direct ;(direct)→(Ri),直接地址中内容送入Ri间址单元中MOV @Ri, #data ;data→(Ri),立即数送入Ri间址单元中MOV DPTR, #data16 ;data16→DPTR,16位常数送入数据指针DPTR中,高8 ;位送入DPH,低8位送入DPH,低8位送入DPL中从上述指令可以看出目的操作数有A累加器、Rn寄存器、直接地址direct及间接地址@Ri,源操作数除此之外还多一种立即数data。
(数据传递类指令)MOV A,Rn 寄存器传送到累加器 1 1MOV A,direct 直接地址传送到累加器 2 1 MOV A,@Ri 累加器传送到外部RAM(8) 1 1 MOV A,#data 立即数传送到累加器 2 1MOV Rn,A 累加器传送到寄存器 1 1MOV Rn,direct 直接地址传送到寄存器 2 2 MOV Rn,#data 累加器传送到直接地址 2 1 MOV direct,Rn 寄存器传送到直接地址 2 1 MOV direct,direct 直接地址传送到直接地址 3 2MOV direct,A 累加器传送到直接地址 2 1 MOV direct,@Ri 间接RAM 传送到直接地址 2 2 MOV direct,#data 立即数传送到直接地址 3 2 MOV @Ri,A 直接地址传送到直接地址 1 2 MOV @Ri,direct 直接地址传送到间接RAM 2 1 MOV @Ri,#data 立即数传送到间接RAM 2 2 MOV DPTR,#data16 16 位常数加载到数据指针 3 1MOVC A,@A+DPTR 代码字节传送到累加器 1 2 MOVC A,@A+PC 代码字节传送到累加器 1 2 MOVX A,@Ri 外部RAM(8)传送到累加器 1 2 MOVX A,@DPTR 外部RAM(16)传送到累加器 1 2 MOVX @Ri,A 累加器传送到外部RAM(8) 1 2 MOVX @DPTR,A 累加器传送到外部RAM(16) 1 2 PUSH direct 直接地址压入堆栈 2 2POP direct 直接地址弹出堆栈 2 2XCH A,Rn 寄存器和累加器交换 1 1XCH A, direct 直接地址和累加器交换 2 1XCH A, @Ri 间接RAM 和累加器交换 1 1 XCHD A, @Ri 间接RAM 和累加器交换 1 1低4 位字节(算术运算类指令)INC A 累加器加1 1 1INC Rn 寄存器加1 1 1INC direct 直接地址加1 2 1INC @Ri 间接RAM 加1 1 1INC DPTR 数据指针加1 1 2DEC A 累加器减1 1 1DEC Rn 寄存器减1 1 1DEC direct 直接地址减1 2 2DEC @Ri 间接RAM 减1 1 1MUL AB 累加器和B 寄存器相乘 1 4DIV AB 累加器除以B 寄存器 1 4DA A 累加器十进制调整 1 1ADD A,Rn 寄存器与累加器求和 1 1ADD A,direct 直接地址与累加器求和 2 1ADD A,@Ri 间接RAM 与累加器求和 1 1ADD A,#data 立即数与累加器求和 2 1ADDC A,Rn 寄存器与累加器求和(带进位) 1 1 ADDC A,direct 直接地址与累加器求和(带进位) 2 1ADDC A,@Ri 间接RAM 与累加器求和(带进位) 1 1ADDC A,#data 立即数与累加器求和(带进位) 2 1 SUBB A,Rn 累加器减去寄存器(带借位) 1 1 SUBB A,direct 累加器减去直接地址(带借位) 2 1 SUBB A,@Ri 累加器减去间接RAM(带借位) 1 1 SUBB A,#data 累加器减去立即数(带借位) 2 1 (逻辑运算类指令)ANL A,Rn 寄存器“与”到累加器 1 1ANL A,direct 直接地址“与”到累加器 2 1 ANL A,@Ri 间接RAM“与”到累加器 1 1ANL A,#data 立即数“与”到累加器 2 1ANL direct,A 累加器“与”到直接地址 2 1 ANL direct, #data 立即数“与”到直接地址 3 2 ORL A,Rn 寄存器“或”到累加器 1 2ORL A,direct 直接地址“或”到累加器 2 1 ORL A,@Ri 间接RAM“或”到累加器 1 1ORL A,#data 立即数“或”到累加器 2 1ORL direct,A 累加器“或”到直接地址 2 1 ORL direct, #data 立即数“或”到直接地址 3 1 XRL A,Rn 寄存器“异或”到累加器 1 2XRL A,direct 直接地址“异或”到累加器 2 1 XRL A,@Ri 间接RAM“异或”到累加器 1 1 XRL A,#data 立即数“异或”到累加器 2 1XRL direct,A 累加器“异或”到直接地址 2 1 XRL direct, #data 立即数“异或”到直接地址 31CLR A 累加器清零 1 2CPL A 累加器求反 1 1RL A 累加器循环左移 1 1RLC A 带进位累加器循环左移 1 1RR A 累加器循环右移 1 1RRC A 带进位累加器循环右移 1 1SWAP A 累加器高、低4 位交换 1 1(控制转移类指令)JMP @A+DPTR 相对DPTR 的无条件间接转移 1 2 JZ rel 累加器为0 则转移 2 2JNZ rel 累加器为1 则转移 2 2CJNE A,direct,rel 比较直接地址和累加器,不相等转移 3 2CJNE A,#data,rel 比较立即数和累加器,不相等转移 3 2CJNE Rn,#data,rel 比较寄存器和立即数,不相等转移 2 2CJNE @Ri,#data,rel 比较立即数和间接RAM,不相等转移 3 2DJNZ Rn,rel 寄存器减1,不为0 则转移 3 2 DJNZ direct,rel 直接地址减1,不为0 则转移 3 2 NOP 空操作,用于短暂延时 1 1ACALL add11 绝对调用子程序 2 2LCALL add16 长调用子程序 3 2RET 从子程序返回 1 2RETI 从中断服务子程序返回 1 2AJMP add11 无条件绝对转移 2 2LJMP add16 无条件长转移 3 2SJMP rel 无条件相对转移 2 2(布尔指令)CLR C 清进位位 1 1CLR bit 清直接寻址位 2 1SETB C 置位进位位 1 1SETB bit 置位直接寻址位 2 1CPL C 取反进位位 1 1CPL bit 取反直接寻址位 2 1ANL C,bit 直接寻址位“与”到进位位 2 2 ANL C,/bit 直接寻址位的反码“与”到进位位 2 2ORL C,bit 直接寻址位“或”到进位位 2 2 ORL C,/bit 直接寻址位的反码“或”到进位位 2 2MOV C,bit 直接寻址位传送到进位位 2 1 MOV bit, C 进位位位传送到直接寻址 2 2JC rel 如果进位位为1 则转移 2 2JNC rel 如果进位位为0 则转移 2 2JB bit,rel 如果直接寻址位为1 则转移 3 2 JNB bit,rel 如果直接寻址位为0 则转移 3 2 JBC bit,rel 直接寻址位为1 则转移并清除该位2 2(伪指令)ORG 指明程序的开始位置DB 定义数据表DW 定义16 位的地址表EQU 给一个表达式或一个字符串起名DATA 给一个8 位的内部RAM 起名XDATA 给一个8 位的外部RAM 起名BIT 给一个可位寻址的位单元起名END 指出源程序到此为止(指令中的符号标识)Rn 工作寄存器R0-R7Ri 工作寄存器R0 和R1@Ri 间接寻址的8 位RAM 单元地址(00H-FFH) #data8 8 位常数#data16 16 位常数addr16 16 位目标地址,能转移或调用到64KROM 的任何地方addr11 11 位目标地址,在下条指令的2K 范围内转移或调用Rel 8 位偏移量,用于SJMP 和所有条件转移指令,范围-128~+127Bit 片内RAM 中的可寻址位和SFR 的可寻址位Direct 直接地址,范围片内RAM 单元(00H-7FH)和80H-FFH$ 指本条指令的起始位置结束在讲指令系统前我们先来复习一下数制的概念。
数据传送指令3.数据传送指令将数据从⼀个位置复制到另⼀个位置的指令。
最简单形式的数据传送指令——MOV类指令。
指令格式指令功能效果movb S,D传送⼀个字节(8位)S->Dmovw S,D传送⼀个字(16位)S->Dmovl S,D传送双字(32位)S->Dmovq S,D传送四字(32位扩展为64位)S->Dmovabsq I,R传送绝对的四字(64位)I->R源操作数可以为以下类型⽴即数,例如$0x100寄存器,例如%bp存储器,例如(%rdi,%rcx)⽬的操作数可为寄存器或存储器。
x86-64限制:传送指令源操作数及⽬的操作数不能都指向内存位置。
movabsq能够以任何64位数(⽴即数、寄存器、存储器)作为源操作数,但只能以寄存器作为⽬的操作数。
MOVZ类指令MOVZ类指令将较⼩的源值复制到较⼤的⽬的中去,将⽬的中剩余字节填充为0零扩展,格式为movz#&(#为源操作数的⼤⼩,&为⽬的操作数的⼤⼩):movzbwmovzblmovzbqmovzwlmovzwq注:⽆movzlq指令,movzlq可利⽤以寄存器位⽬的的movl实现(因为movl会将寄存器⾼位四字节置零)MOVS类指令MOVS类指令将较⼩的源值复制到较⼤的⽬的中去,将源操作的最⾼为复制⽤于填充⽬的剩余字节,即传送符号扩展的字节符号扩展,格式为movs#&(#为源操作数的⼤⼩,&为⽬的操作数的⼤⼩):movsbwmovsblmovsbqmovswlmovswqmovslqcltq 把%eax符号扩展到%rax(eax为rax寄存器的低32位)类似于movslq %eax,%rax程序栈程序栈是⼀种数据结构,具有“后进先出(Last In First Out)”的特性。
在x86-64中,程序栈存放在内存中的某个区域,栈顶元素的地址是所有栈中元素地址最低的,栈指针%rsp保存栈顶元素的地址。
§3.2 数据传送类指令一、本课在教材中的地位与前后知识的联系:本课节选自中国劳动和社会保障出版社《单片机原理及接口技术》第三章第二节“数据传送类指令”,它是在前一节单片机指令常用表示方式和寻址方式的基础上,提出的五大类指令中的第一大类,是单片机所有指令中最重要、也是最常用的一类指令。
它是其他四大类指令的基础,和其他四大类指令共同组成了MCS-51系列单片机的指令系统。
二、对教材的分析与处理:数据传送类指令可以细分为三小种:第一种是数据传送MOV、MOVX、MOVC,第二种是数据交换XCH、XCHD、SWAP,第三种是数据压入弹出PUSH、POP。
在讲解这三种数据传送类的指令时,每一种的这几个指令都可以采用对比的方法来使学生更好理解;另外,每一种的指令都可以列举事例进行讲解,用例子来增强对数据传送类指令的直观感觉。
三、教学目标:1、基础知识目标:(1)掌握数据传送类指令的操作助记符MOV、MOVC、MOVX、XCH、XCHD、SWAP、PUSH、POP。
(2)掌握各数据传送类指令的执行过程。
(3)会用数据传送类指令来书写简单的程序段。
2、能力训练目标:通过对数据传送类指令执行过程的理解,培养学生的想象能力和对比分析能力,提高其运用知识的水平。
3、创新素质目标:在分析和判断数据传送类指令的执行过程中。
培养学生的逻辑推理能力,激发他们的学习兴趣,增强学生对未知事物的探索欲。
四、教学过程和方法:本节课采用传统的教学过程:先复习巩固上一节MCS-51系列单片机指令的格式和寻址方式,由此引出本节所讲的第一条指令、也是最重要的一条指令MOV;然后逐次讲解MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP等数据传送类指令,并以例题的方式加深学生对这几条指令的理解。
为了让学生更好的掌握数据传送类指令,充分利用对比分析(把MOV、MOVC、MOVX进行对比,把XCH、XCHD、SWAP进行对比,把PUSH、POP进行对比)方法,使学生在比较中加深记忆,更快的掌握这几个指令。
51单片机汇编指令集一、数据传送类指令(7种助记符)MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code)读取程序存储器数据表格的数据传送;MOVX (Move External RAM) 对外部RAM的数据传送;XCH (Exchange) 字节交换;XCHD (Exchange low-order Digit) 低半字节交换;PUSH (Push onto Stack) 入栈;POP (Pop from Stack) 出栈;二、算术运算类指令(8种助记符)ADD(Addition) 加法;ADDC(Add with Carry) 带进位加法;SUBB(Subtract with Borrow) 带借位减法;DA(Decimal Adjust) 十进制调整;INC(Increment) 加1;DEC(Decrement) 减1;MUL(Multiplication、Multiply) 乘法;DIV(Division、Divide) 除法;三、逻辑运算类指令(10种助记符)ANL(AND Logic) 逻辑与;ORL(OR Logic) 逻辑或;XRL(Exclusive-OR Logic) 逻辑异或;CLR(Clear) 清零;CPL(Complement) 取反;RL(Rotate left) 循环左移;RLC(Rotate Left throught the Carry flag) 带进位循环左移;RR(Rotate Right) 循环右移;RRC (Rotate Right throught the Carry flag) 带进位循环右移;SWAP (Swap) 低4位与高4位交换;四、控制转移类指令(17种助记符)ACALL(Absolute subroutine Call)子程序绝对调用;LCALL(Long subroutine Call)子程序长调用;RET(Return from subroutine)子程序返回;RETI(Return from Interruption)中断返回;SJMP(Short Jump)短转移;AJMP(Absolute Jump)绝对转移;LJMP(Long Jump)长转移;CJNE (Compare Jump if Not Equal)比较不相等则转移;DJNZ (Decrement Jump if Not Zero)减1后不为0则转移;JZ (Jump if Zero)结果为0则转移;JNZ (Jump if Not Zero) 结果不为0则转移;JC (Jump if the Carry flag is set)有进位则转移;JNC (Jump if Not Carry)无进位则转移;JB (Jump if the Bit is set)位为1则转移;JNB (Jump if the Bit is Not set) 位为0则转移;JBC(Jump if the Bit is set and Clear the bit) 位为1则转移,并清除该位;NOP (No Operation) 空操作;五、位操作指令(1种助记符)CLR 位清零;SETB(Set Bit) 位置1。