单片机的助记符
- 格式:doc
- 大小:22.00 KB
- 文档页数:1
MCS-51的基本指令共111条;按功能分为5类:(1)数据传送(29条)(2)算术操作(24条)(3)逻辑操作(24条)(4)控制转移(17条)(5)布尔变量操作(17条)按指令所占的字节来分:(1) 单字节指令49条;(2) 双字节指令46条;(3) 三字节指令16条。
数据传送指令(29条)按指令的执行时间来分:(1) 1个机器周期(12个时钟振荡周期)指令64条;(2) 2个机器周期(24个时钟振荡周期)指令45条;(3) 只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周期)。
12MHz晶振:机器周期为1μs。
向累加器A的传送:MOV A, Rn ;(A)←(Rn)向通用寄存器传送:MOV Rn, A ;(Rn)←(A)向直接地址传送:MOV direct,A ;(direct)←(A)间址传送:MOV @Ri,A ;((Ri))←(A)入栈指令:PUSH direct ;(sp)←(sp)+1,;((sp))←(direct)出栈指令:POP direct ;(direct)←((sp)),;(sp)←(sp)-1累加器传送指令字节交换指令:XCH A,Rn ;(A)↔(Rn)半字节交换指令:XCHD A,@Ri ; (A0~3) ↔((Ri) 0~3)累加器高4位与低4位数据互换:SWAP A ;(A0~3) ↔(A4~7)累加器与外部RAM的传送:MOVX A,@Ri ;(A) ←((Ri))累加器与程序存储器传送:MOVC A,@A+DPTR目标地址传送指令:MOV DPTR,#data16算术运算指令(24条)加法指令:ADD A,Rn ;(A) ←(A)+(Rn)带进位加法:ADDC A,Rn ;(A) ←(A)+(Rn)+(C)加1指令:INC A ;(A) ←(A)+1十进制调整指令:DA A ;减法指令:带借位减法指令:SUBB A,Rn;(A) ←(A)-(Rn)-(C)减1指令:DEC A ;(A) ←(A)-1乘法指令:MUL AB;(BA) ←(A)*(B)除法指令:DIV AB ;(A) ←(A)/(B); (B) ←(A)%(B)单操作数逻辑运算指令累加器A清零:CLR A ;(A) ←0累加器A取反:CPL A ;(A) ←(A)累加器A循环左移:RL A;累加器A循环右移: RR A;累加器A带进位循环左移:RLC A;累加器A带进位循环右移:RRC A;双操作数逻辑运算指令逻辑“与”指令:ANL A, Rn ;(A) ←(A)&(Rn)逻辑“或”指令:ORL A, Rn ;(A) ←(A)|(Rn)“异或”指令:XRL A, Rn ;(A) ←(A)^(Rn)控制转移指令(17条)1无条件转移指令调用指令绝对调用(2K)ACALL addr11;(pc) ←(pc+2);(sp) ←(sp)+1,((sp)) ←(pc0~7);(sp) ←(sp)+1,((sp)) ←(pc8~15);(pc0~10) ← addr0~10;(pc11~15)不变长调用(64K)LCALL addr16;(pc) ←(pc)+3;(sp) ← (sp)+1,((sp)) ←(pc0~7);(sp) ← (sp)+1,((sp)) ←(pc8~15);(pc) ← addr16返回指令子程序返回(ACALL和LCALL)RET;(pc8~15) ←((sp)),(sp) ←(sp)-1;(pc0~7) ←((sp)),(sp) ←(sp)-1中断程序返回RETI;(pc8~15) ←((sp)),(sp) ←(sp)-1;(pc0~7) ←((sp)),(sp) ←(sp)-1 ;开放中断逻辑转移指令绝对转移AJMP addr11;(pc0~10) ← addr0~10;(pc11~15)不变长转移:LJMP addr16;(pc) ← addr16相对转移(短转移,双向)SJMP rel ;(pc) ←(pc)+rel间接转移指令(散转指令)JMP @A+DPTR ;(pc)←(A)+(DPTR)空操作指令:NOP ;(pc) ←(pc)+1条件转移指令(1)判零转移指令JZ rel;当(A)为0则(pc) ←(pc)+rel ;否则,顺序执行JNZ rel;当(A)非0,则(pc) ←(pc)+rel;否则,顺序执行比较转移指令(-128B~+127B)CJNE A,direct,rel跳转循环指令(减1不为0转移指令):DJNZ Rn,rel ;(Rn) ←(Rn)-1,;若(Rn)非0,则(pc) ←(pc)+rel;否则,顺序执行DJNZ direct,rel;(direct) ←(direct)-1,;若(direct)非0,则(pc) ←(pc)+rel;否则,顺序执行布尔处理器指令(17条)位变量地址空间片内低RAM,Bit地址范围:00H~7FH(128位)片内高RAM,地址能被8整除的SFR中对应各位(11个):80H~F7H布尔数据传送指令:MOV C ,bit ;(C) ←(bit)※C为进位标志位Cy(不影响PSW)布尔状态控制位清“0”指令CLR C ;(C) ← 0位置“1”指令:SETB C ;(C) ← 1位取反指令:CPL C ;(C) ← (C)位逻辑运算位逻辑“与”指令:ANL C,bit ;(C) ← (C)&(bit)位逻辑“或”指令:ORL C,bit ;(C) ← (C)|(bit)位条件转移指令:判断C转移:J C rel;当(C)为1,则(pc) ←(pc)+rel;否则,顺序执行JNC rel;当(C)为0,则(pc) ←(pc)+rel;否则,顺序执行判断位变量转移指令:JB bit, rel;当(bit)为1,则(pc) ←(pc)+rel;否则,顺序执行JNB bit, rel;当(bit)为0,则(pc) ←(pc)+rel;否则,顺序执行※pc+rel中,(pc)表示为当前的指令地址即:执行跳转指令后的下一条指令地址判断位变量转移并清0指令:JBC bit, rel ;当(bit)为1,则(bit)←0,(pc) ←(pc)+rel ;否则,顺序执行※可用于对SFR的bit检测和软件复位(TFX)汇编语言语句的种类和格式:程序段说明伪指令ORG ORG 1000H汇编结束伪指令END [标号:] END伪指令语句等值伪指令EQU和DL DDR EQU 1020H(不可改)数据说明伪指令DB和DW TAB DB 0, 4, 8, 16, 32保留存储区说明伪指令:STA DS 10H软件延时子程序DELAY:MOV R2, #data ;指令周期数=1DELAY1: DJNZ R2, DELAY1;指令周期数=2RET延时时间=1(第一条指令周期)+(R2)×2(周期数); 影响CPU工作效率延时范围:3~513个机器周期,由(R2)决定有符号数X存于内部RAM的DATA单元,Y存于FUNC单元,按以下要求编程实现给Y赋值。
习题及参考答案一、填空题1、指令格式是由操作码和操作数所组成,也可能仅由操作码组成。
2、若用传送指令访问MCS-51的程序存储器,它的操作码助记符应为MOVC 。
3、若用传送指令访问MCS-51的片内数据存储器,它的操作码助记符应为MOV 。
4、若访问MCS-51的片外数据存储器,它的操作码助记符应为MOVX 。
5、累加器(A)=80H,执行完指令ADD A,#83H后,进位位C= 1 。
6、执行ANL A,#0FH指令后,累加器A的高4位= 0000 。
7、JZ rel的操作码地址为1000H,rel=20H,它的转移目的地址为1022H 。
8、JBC 00H,rel 操作码的地址为2000H,rel=70H,它的转移目的地址为2073H 。
9、累加器(A)=7EH,(20H)= #04H,MCS-51执行完ADD A,20H指令后PSW.0= 0 。
10、MOV PSW,#10H是将MCS-51的工作寄存器置为第 2 组。
11、指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H 入栈,37B0H →PC。
12、MOVX A,@DPTR源操作数寻址方式为寄存器间接寻址。
13、ORL A,#0F0H是将A的高4位置1,而低4位保持不变。
14、SJMP rel的指令操作码地址为0050H,rel=65H,那么它的转移目标地址为 00B7H 。
15、设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR的操作数的实际地址为2080H 。
16、MOV C,20H源寻址方式为位寻址。
17、在直接寻址方式中,只能使用8 位二进制数作为直接地址,因此其寻址对象只限于片内RAM 。
18、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。
19、在变址寻址方式中,以 A 作变址寄存器,以PC 或DPTR 作基址寄存器。
20、假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器1031H 单元的内容送入累加器A中。
直接寻址方式访问以下三种存储空间:
1.特殊功能寄存器(只能用直接寻址方式访问)。
2.内部RAM的低128字节(对于8032/8052等单片机,其内部高128字节RAM(80H~0FFH)不能用直接寻址方式访问,而只能用寄存器间接寻址方式访问)。
3.位地址空间。
寄存器间接寻址方式是由指令指出某一个寄存器的内容作为操作数的地址。
(寄存器的内容不是操作数,而是操作数所在的存储器地址。
)
寄存器间接寻址使用当前工作寄存器区中R0或R1作地址指针(堆栈操作指令用栈指针SP)来寻址内部RAM(00H~0FFH)。
寄存器间接寻址也适用于访问外部扩展的数据存储器,用R0、R1或DPTR作为地址指针。
寄存器间接寻址用符号@表示。
相对寻址相对寻址方式以PC的内容作为基地址,加上指令中给定的偏移量,所得结果送PC寄存器作为转移地址。
应注意偏移量是有符号数,在-128~+127之间。
寻址方式及相关的存储空间
特殊功能寄存器只能采用直接寻址,而内部RAM高128字节只能采用寄存器间接寻址。
目的操作数不能采用立即寻址,@Ri中的i范围为0和1,@Rn中的n范围为0~7,每条指令中最多只能有1个Rn或者@Ri。
下面的都是错的:
MOV #30H ,40H
MOV A ,@R2。
51单片机内部结构:集成了中央处理器(CPU)、存储器系统(RAM和ROM)、定时/计数器、并行接口、串行接口、中断系统和一些特殊功能寄存器中央处理器:单片机cpu包含运算部件和控制部件算数逻辑ALU为8位运算器ALU有位计算器可以对一位二进制数据进行置位、清零、求反、测试转移及位逻辑与,或等处理累加器ACC为8位寄存器是CPU中使用最频繁的存储器程序计数器PC是16位寄存器,它存放下一条要执行的指令的地址堆栈指针SP用来控制堆栈段内容的入栈(输入)与出栈(输出),51单片机中SP始终指向栈底位置数据指针DPTR是16位寄存器,通常用DPTR实现对片外数据存储器64KB空间的访问程序存储器:程序存储器外部内部共用64KB存储空间8031,8032内部没有程序存储器,只能外部扩展64KB。
8051,8751内部有4KB程序存储器地址范围0000H-0FFFH;8052,8752内部有8KB程序存储器,地址范围0000H-1FFFH,外部最多可扩展64KBEA引脚接低电平从片外程序存储器取命令,高电平从片内程序存储器取命令8031,8032的EA只能保持低电平(指令只能从片外程序存储器取得)51单片机片内随机存储块128字节编址00H-7FH 特殊功能寄存器128字节编址80H-0FFH 工作寄存器组区:00H-1FH单位为工作寄存器组区共32字节工作寄存器有0,1,2,3四组,每组8个寄存器,依次用R0-R7表示和使用堆栈在存储器中按(先入后出,后入先出)原则进行管理的一段的存储区域,通过堆栈指针SP管理堆栈主要是为子程序调用和中断调用设立的,用于保护断点地址和保护现场状态根据入栈方向堆栈分为向上,向下生长型向上生长型堆栈入栈时SP指针先加1,指向下一个高地址单元,出栈时先把SP指针指向单元的数据送出,再把SP指针减1,数据是向高地址单元储存的;向下生长型堆栈入栈时SP 指针先减1,指向下一个低地址单元,再把数据送入当前SP指针指向的单元,出栈时先把SP指针指向单元的数据送出,再把SP指针加1,数据是向低地址单元储存的51单片机堆栈是向上生长型,位于片内随机储存块中,堆栈指针SP为8位51单片机当数据存储器不够时,可扩展外部数据存储器,扩展外部数据存储器最多为64KB 51单片机输入/输出接口:P0口是三态双向口,可作为地址/数据分时复用接口,也可作为通用I/O接口P1口是准双向口,它只能作为通用I/O接口使用P2口是准双向口,用途为:通用I/O接口和高8位地址线P3口作为通用I/O接口,第二功能输出线为高电平,与非门3的输出取决于锁存器状态,作为第二功能使用时,锁存器Q输出端必须高电平,否则V1管导通引脚将被钳位在低电平外部引脚:外接晶体引脚:XTAL1、XTAL2(19、18引脚) 控制线:ALE/PROG(30引脚)、PSEN(29引脚)、RST/Vpd(9引脚)、EA/Vpp(31引脚)51单片机工作方式:复位方式、程序执行方式、单步执行方式(调试)每一个机器周期包含12个时钟周期,每个机器周期ALE信号固定出现两次,分别在(S1P2、S4P2)每出现一次信号,CPU就进行一次取指令的操作51单片机的寻址方式按操作数的类型分为数的寻址和指令寻址,数的寻址根据数的种类有常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位数据寻址(位寻址)。
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。
助记符号的记忆方法1表格列举法把44个指令助记符按功能分为五类,每类列表记忆。
此处从略,请读者自己总结。
2英文还原法单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照汉语有助于理解其助记符含义,从而加强记忆。
例如:增量 INC-Incremect减量 DNC-Decrement短转移 SJMP-Short jump长转移 LJMP-Long jump比较转移 CJNE-Compare jump not equality绝对转移 AJMP-Absolute jump空操作 NOP-No operation交换 XCH-Exchange加法ADD-Addition乘法 MUL-Multiplication除法 DIV-Division左环移 RL-Rotate left进位左环移 RLC-Rotate left carry右环移 RR-Rotate right进位右环移RRC-Rotate right carryMCS-51系列单片机指令解读:18条以A字母开头的单片机的指令10条以C字母开头的单片机的指令8条以D字母开头的单片机的指令5条以I字母开头的单片机的指令8条以J字母开头的单片机的指令2条以L字母开头的单片机的指令24条以M字母开头的单片机的指令1条以N字母开头的单片机的指令8条以O字母开头的单片机的指令2条以字母P开头的单片机的指令6条以字母R开头的单片机的指令8条以字母S开头的单片机的指令18个以A字母开头的MCS-51系列单片机的指令1、ACALL addr11指令名称:绝对调用指令指令代码:指令功能:构造目的地址,进行子程序调用。
其方法是以指令提供的11位地址(al0~a0),取代PC的低11位,PC的高5位不变。
操作内容:PC←(PC)+2SP←(SP)+1(SP)←(PC)7~0SP←(SP)+1(SP)←(PC)15~8PC10~0←addrl0~0字节数: 2机器周期:2使用说明:由于指令只给出子程序入口地址的低11位,因此调用范围是2KB。
助记符代码说明MOV A,Rn E8~EF 寄存器AMOV A,direct E5 dircet 直接字节送AMOV A,@Ri ER~E7 间接RAM送AMOV A,#data 74 data 立即数送AMOV Rn,A F8~FF A送寄存器MOV Rn,dircet A8~AF dircet 直接字节送寄存器MOV Rn,#data 78~7F data 立即数送寄存器MOV dircet,A F5 dircet A送直接字节MOV dircet,Rn 88~8F dircet 寄存器送直接字节MOV dircet1,dircet2 85 dircet1 dircet2 直接字节送直接字节MOV dircet,@Ro 86~87 间接RAM送直接字节MOV dircet,#data 75 dircet data 立即数送直接字节MOV @Ri,A F6~F7 A送间接RAMMOV @Ri,#data 76~77 data 直接字节送间接RAMMOV @Ri,#data 76~77 data 立即数送间接RAMMOV DPTR,#data16 90 data 15~8 16位常数送数据指针data7~0MOVC A,@A+DPTR 93 由((A)+(DPTR))寻址的程序存储器字节选A MOVC A,@A+PC 83 由((A)+(PC));寻址的程序存储器字节送A MOVX A,@Ri E2~E3 送外部数据(8位地址)送AMOVX A,@DPTR E0 送外部数据(16位地址)送AMOVX @Ri,A F2~F3 A送外部数据(8位地址)MOVX @DPTR,A F0 A送外部数据(16位地址)PUSH dircet C0 dircet 直接字节进栈,SP加1POP dircet D0 dircet 直接字节退栈,SP减1XCH A,Rn C8~CF 交换A和寄存器XCH A,dircet C5 dircet 交换A和直接字节XCH A,@Ri C6~C7 交换A和间接RAMXCH A,@Ri D6~D7 交换A和间接RAM的低位SW AP A C4 算术操作(A的二个半字节交换)ADD A,Rn 28~2F 寄存器加到AADD A,dircet 25 dircet 直接字节加到AADD A,@Ri 26~27 间接RAM加到AADD A,#data 24data 立即数加到AADD A,Rn 38~3F 寄存器和进位位加到AADD A,dircet 35dircet 直接字节和进位位加到AADD A,@Ri 36~37 间接字节和进位位加到AADD A,data 34 data 立即数和进位位加到AADD A,Rn 98~9F A减去寄存器和进位位ADD A,dircet 95 dircet A减去直接字节和进位位ADD A,@Ri 36~37 间接RAM和进位位加到AADD A,data 34 data 立即数和进位位加到ASUBB A,Rn 98~9F A减去寄存器和进位位SUBB A,dircet 95 dircet A减去直接字节和进位位SUBB A,@Ri 96~97 A减去间接RAM和进位位SUBB A,#data 94 data A减去立即数和进位位INC A 04 A加1INC Rn 08~0F 寄存器加1INC dircet 05 dircet 直接字节加1INC @Ri 06~07 间接RAM加1DEC A 14 A减1DEC Rn 18~1F 寄存器减1DEC dircet 15 dircet 直接字节减1DEC @Ri 16~17 间接RAM减1INC DPTR A3 数据指针加1MUL AB A4 A乘以BDIV AB 84 A除以BDA A D4 A的十进制加法调整逻辑操作ANL A,Rn 58~5F 寄存器“与”到AANL A,dircet 55 dircet 直接字节“与”到AANL A,@Ri 56~57 间接RAm“与”到AANL A,#data 54 data 立即数“与”到AANL dircet A 52 dircet A“与”到直接字节ANL dircet,#data 53 dircet data 立即数“与”到直接字节ORL A,Rn 48~4F 寄存器“或”到AORL A,dircet 45 dircet 直接字节“或”到AORL A,@Ri 46~47 间接RAM“或”到AORL A,#data 44 data 立即数“或”到AORL dircet,A 42 dircet A“或”到直接字节ORL dircet,#data 43 dircet data 立即数“或”到直接字节XRL A,Rn 68~6F 寄存器“异或”到AXRL A,dircet 65 dircet 直接字节“异或”到AXRL A,@Ri 66~67 间接RAM“异或”到AXRL A,#data 64 data 立即数“异或”到AXRL dircet A 62 dircet A“异或”到直接字节XRL dircet,#data 63 dircet data 立即数“异或”到直接字节CLR A E4 清零CPL A F4 A取反RL A 23 A左环移RLC A 33 A通过进位左环移RR A 03 A右环移RRC A 13 A通过进位右环移控制程序转移ACALL addr 11 *1 addr(a7~a0) 绝对子程序调用LCALL addr 16 12 addr(15~8) 长子程序调用addr(7~0)RET 22 子程序调用返回RETI addr 11 32 中断调用返回AJMP addr 11 △1 addr(a7~a6) 绝对转移LJMP addr 16 02addr(15~8) 长转移addr(7~0)SJMP rel 80 rel 短转移,相对转移JMP @A+DPTR 73 相对于DPTR间接转移JZ rel 60 rel A为零转移JNZ rel 70 rel A为零转移CJNE A,dircet,rel B5 dircet rel 直接字节与A比较,不等则转移CJNE A,#data,rel B4 data rel 立即数与A比较,不等则转移CJNE A,Rn,#data,rel B8~BF data rel 立即数与寄存器比较,不等则转移CJNE @Ri,#data,rel B6~B7 data rel 立即数与间接RAM比较,不等则移DJNZ Rn,rel D8~DF rel 寄存器减1,不为零则转移DJNZ dircet,rel B5 dircet rel 直接字节减1,不为零则转移NOP 00 空操作*=a10a9a8l△=a10a9a80布尔变量操作CLR C C3 清零进位CLR bit C2 清零直接位SETB C D3 置位进位SETB bit D2 置位直接位CPL C B3 进位取反CPL bit B2 直接位取反ANL C,bit 82 dit 直接数“与”到进位ANL C,/bit B0 直接位的反“与”到进位ORL C,bit 72 bit 直接位“或”到进位ORL C,/bit A0 bit 直接位的反“或”到进位MOV C,bit A2 bit 直接位送进位MOV bit,C 92 bit 进位送直接位JC rel 40 rel 进位位为1转移JNC rel 50 rel 进位位为0转移JB bit,rel 20 bit rel 直接位为1相对转移JNB bit,rel 30 bit rel 直接位为0相对转移JBC bit,rel 10 bit rel 直接位为1相对转移,然后清零该位。
单片机的助记符
MCS-51共有111条指令,可分为五类:
1.数据传送类指令(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) 出栈;
2.算术运算类指令(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) 除法;
3.逻辑运算类指令(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位交换;
(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) 空操作;
5.位操作指令(1种助记符)
SETB(Set Bit) 位置1。