文档库 最新最全的文档下载
当前位置:文档库 › 助记符说明表

助记符说明表

助记符说明表
助记符说明表

单片机指令助记符中英文

单片机指令助记符中英文 51单片机汇编指令集2009-04-09 11:00(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)子程序返回;

各类命令助记符

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 ;指令周期数=1 DELAY1: DJNZ R2, DELAY1;指令周期数=2 RET 延时时间=1(第一条指令周期)+(R2)×2(周期数); 影响CPU 工作效率 延时范围:3~513个机器周期,由(R2)决定 有符号数X存于内部RAM的DATA单元,Y存于FUNC单元,按 以下要求编程实现给Y赋值。绘出程序框图。程序清单: ORG 4000H MOV A,DATA;取出X送A JZ COMP ;若X=0则转移到COMP JNB ACC.7,POSI ;若X>0则转移到POSI MOV A,#0FFH;若X<0则A= -1 SJMP COMP ;转分支结构出口 POSI:MOV A,#01H;X>0时A=1 COMP:MOV FUNC,A;存函数Y值 HERE:SJMP HERH;结束 2重以上的循环,内外层分明,且不能交叉 例1、50ms延时程序(设系统为12M的晶振) DELAY: MOV R7,#200 DELAY_1 :MOV R6,#123 NOP DELAY_2: DJNZ R6,DELAY_2 DJNZ R7,DELAY_1 RET 计算:【(123*2+1+1)+2】*200=250*200us 例2、定时程序如下: MOV R5,#TIME1 LOOP2: MOV R4,#TIME2 LOOP1: NOP NOP DJNZ R4,LOOP1 DJNZ R5,LOOP2 RET 该定时程序的执行时间为:其中T0为单片机的机器 周期 T=(((1+1+2)*TIME2+1+2)*TIME1+1)*T0 8051/8751最小应用系统(如图所示) (1全部I/O口线开放(2内部存储器容量有限 (3)EA接高(4)P0、P2使用要注意 图6-2为用8031外接程序存储器构成的最小系统。 特点是:无内部ROM,需要构成三片最小系统,ALE下降沿锁存 地址底8位。 芯片选择方法:线选法和地址译码法。 8255A的3种工作方式: 方式0(基本输入/输出方式)数据输出有锁存,数据输入有缓 冲(无锁存) 方式1(选通输入/输出方式)A组包括A口和C口的高四位(PC7~ PC4),A口可由程序设定为输入口或输出口,C口的高四位则用 来作为输入/输出操作的控制和同步信号;B组包括B口和C口 的低四位(PC3~PC0),功能和A组相同。 方式2(双向I/O口方式)A口为8位双向I/O口,C口的PC7~ PC3用来作为输入输出的控制和同步信号。此时,B口可以工作 在方式0或方式1。 8255有两个控制字:方式控制字,置位/复位控制字 接口(Interface):计算机与外设的数据传送电路。 端口(Port):编程寻址的口寄存器, 编址方式:独立编址,统一编址 CPU与外设数据传送方式:直接、查询、中断、DMA 中断:计算机暂停正在执行的程序,去执行中断服务程序,服务 完成后回到原程序断开出继续执行。 CPU响应中断的条件:(1)有中断请求(2)中断请求没有被屏蔽(3)中 断是开放的或者是允许的(4)在现行指令结束后才响应中断 中断响应及中断期间应做的工作: (1)关中断(2)保留断点(3)保护现场(4)给出中断,入口转入相应的 中断服务程序(5)恢复现场(6)开中断与返回

单片机的助记符

单片机的助记符 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。

51单片机常用汇编语言助记符英文全称

51单片机常用汇编语言助记符英文全称 (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) 逻辑与; 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)子程序绝对调用;

汇编常用指令助记符

助记符说明表 助记符指令说明字节数周期数(数据传递类指令) MOV A,Rn 寄存器传送到累加器 1 1 MOV A,direct 直接地址传送到累加器 2 1 MOV A,@Ri 累加器传送到外部RAM(8 地址) 1 1 MOV A,#data 立即数传送到累加器 2 1 MOV Rn,A 累加器传送到寄存器 1 1 MOV Rn,direct 直接地址传送到寄存器 2 2 MOV Rn,#data 累加器传送到直接地址 2 1 MOV direct,Rn 寄存器传送到直接地址 2 1 MOV direct,direct 直接地址传送到直接地址 3 2 MOV 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 1 MOVC 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 2 POP direct 直接地址弹出堆栈 2 2 XCH A,Rn 寄存器和累加器交换 1 1 XCH A, direct 直接地址和累加器交换 2 1 XCH A, @Ri 间接RAM 和累加器交换 1 1 XCHD A, @Ri 间接RAM 和累加器交换低4 位字节 1 1 (算术运算类指令) INC A 累加器加1 1 1 INC Rn 寄存器加1 1 1 INC direct 直接地址加1 2 1 INC @Ri 间接RAM 加1 1 1 INC DPTR 数据指针加1 1 2 DEC A 累加器减1 1 1 DEC Rn 寄存器减1 1 1 DEC direct 直接地址减1 2 2

51汇编语言助记符

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则转移;

助记符号的记忆方法

一、助记符号的记忆方法 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 carry 3 功能模块记忆法 单片机的44个指令助记符,按所属指令功能可分为五大类,每类又可以按功能相似原则为2~3组。这样,化整为零,各个击破,实现快速记忆。 1)数据传送组。2)加减运算组 MOV 内部数据传送 ADD 加法 MOVC 程序存储器传送 ADDC 带进位加法 MOVX 外部数据传送 SUBB 带进位减法 3)逻辑运算组。 4)子程序调用组。 ANL 逻辑与 LCALL 长调用 ORL 逻辑或 ALALL 绝对调用 XRL 逻辑异或 RET 子程序返回 二、指令的记忆方法 1 指令操作数的有关符号 MCS-51的寻址方式共有六种:立即数寻址、直接寻址、寄存器寻址、寄存器间址、变址寻址、相对寻址。我们必须掌握其表示的方法。 1)立即数与直接地址。 ata表示八位立即数,#data16表示是十六位立即数,data或direct表示直接地址。 2)Rn(n=0-7)、A、B、CY、DPTR寄存器寻址变量。 3)@R0、@R1、@DPTR、SP表示寄存器间址变量。 4)DPTR+A、PC+A表示变址寻址的变量。 5)PC+rel(相对量)表示相对寻址变量。 记住指令的助记符,掌握不同寻址方式的指令操作数的表示方法,为我们记忆汇编指令打下了基础。MCS-51指令虽多,但按功能可分为五类,其中数据传送类28条,算术运算类24条,逻辑操作类25条,控制转移类17条,布尔位操

助记符

助记符号的记忆方法 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 carry MCS-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)+2 SP←(SP)+1 (SP)←(PC)7~0 SP←(SP)+1 (SP)←(PC)15~8 PC10~0←addrl0~0 字节数: 2 机器周期:2 使用说明:由于指令只给出子程序入口地址的低11位,因此调用范围是2KB。

按德语助记符(SIMATIC)排序的STL指令

按德语助记符(SIMATIC)排序的STL指令 德语助记符英语助记 符程序 单元 目录 描述 ++整型数学运算指令加整型常数(16、32位) ==位逻辑指令赋值 ))位逻辑指令嵌套结束 +AR1+AR1累加器AR1 将ACCU 1加到地址寄存器1 +AR2+AR2累加器AR2 将ACCU 1加到地址寄存器2 +D+D整型数学运算指令将ACCU 1和ACCU 2作为长整型(32位)数相加 -D-D整型数学运算指令以长整型(32位)数的形式从ACCU 2中减去ACCU 1 *D*D整型数学运算指令将ACCU 1和ACCU 2作为长整型(32位)相乘 /D/D整型数学运算指令以长整型(32位)数的形式用ACCU 1除ACCU 2 ? D? D比较指令比较长整型数(32位) ==、<>、>、<、>=、<= +I+I整型数学运算指令将ACCU 1和ACCU 2作为整型(16位)相加 ?I?I整型数学运算指令以整型(16位)的形式从ACCU 2中减去ACCU 1 *I*I整型数学运算指令将ACCU 1和ACCU 2作为整型(16位)相乘 /I/I整型数学运算指令以整型数(16位)的形式用ACCU 1除ACCU 2 ? I ? I比较指令比较整型数(16位) ==、<>、>、<、>=、<= +R+R浮点数指令将ACCU 1和ACCU 2作为浮点数(32位IEEE 754)相加 ?R?R浮点数指令以浮点数(32位IEEE 754)的形式从ACCU 2中减去ACCU 1 *R*R浮点数指令将ACCU 1和ACCU 2作为浮点数(32位IEEE 754)相乘 /R/R浮点数指令以浮点数(32位IEEE 754)的形式用ACCU 1除ACCU 2 ? R? R 比较指令比较浮点数(32位) ==、<>、>、<、>=、<= ABS ABS浮点数指令浮点数(32位IEEE 754)的绝对值 ACOS ACOS浮点数指令生成浮点数(32位)的反余弦 ASIN ASIN浮点数指令生成浮点数(32位)的反正弦 ATAN ATAN浮点数指令生成浮点数(32位)的反正切 AUF OPN DB调用指令打开数据块 BE BE程序控制块结束 BEA BEU程序控制无条件的块结束 BEB BEC程序控制有条件的块结束 BLD BLD程序控制程序显示指令(空) BTD BTD转换BCD码转换为整数(32位) BTI BTI转换BCD码转换为整数(16位) CALL CALL程序控制块调用 CALL CALL程序控制调用多重情景 CALL CALL程序控制调用来自库的块 CC CC程序控制条件调用 CLR CLR位逻辑指令清除RLO (=0) COS COS浮点数指令以浮点数(32位)形式生成角的余弦 DEC DEC累加器减量ACCU 1-L-L DTB DTB转换长整型(32位)转换为BCD码 DTR DTR转换将长整型(32位)转换为浮点数(32位,IEEE 754) ENT ENT累加器进入ACCU堆栈 EXP EXP浮点数指令生成浮点数(32位)的指数值 FN FN位逻辑指令下降沿

汇编指令符号大全

80X86 汇编指令符号大全 +、-、*、/∶算术运算符。 &∶宏处理操作符。宏扩展时不识别符号和字符串中的形式参数,如果在形式参数前面加上一个& 记号,宏汇编程序就能够用实在参数代替这个形式参数了。 $∶地址计数器的值——记录正在被汇编程序翻译的语句地址。每个段均分配一个计数器,段内定义的所有标号和变量的偏移地址就是当前汇编地址计数器的值。 ?∶操作数。在数据定义语句中,操作数用?,其作用是分配并保留存储空间,但不存入确定的数据。 =∶等号伪指令——符号定义。对符号进行定义和赋值,功能与EQU相似,但允许(重复)再定义。 :∶修改属性运算符(操作符)——段操作符。用来临时给变量、标号或地址表达式指定一个段属性(不用缺省的段寄存器),自动生成一个“跨段前缀字节”。注意,段寄存器CS和ES 不能被跨越,堆栈操作时也不能跨越SS。 ;∶注释符号。 %∶特殊宏操作符,用来将其后的表达式(通常是符号常数,不能是变量名和寄存器名)转换成它所代表的数值,并将此数值的ASCII码嵌入到宏扩展中。 ( )∶1.运算符——用来改变运算符的优先级别。2.教材符号,表示括号内存储单元(或寄存器)的内容。 < >∶宏调用时用来将带间隔符(如空格,逗号等)的字符串(作为实参)括起来。 [ ]∶1.运算符。方括号括起来的数是数组变量的下标或地址表达式。带方括号的地址表达式必须遵循下列原则,①只有BX、BP、SI、DI这四个寄存器可在方括号内出现;②BX或BP 可单独出现在各方括号中,也可以与常数、SI或DI一起出现在方括号内,但不允许BX和BP出现在同一个方括号内;③SI和DI可以单独出现在各方括号内,也可以与常数、BP或BX一起出现在方括号内,但不允许SI和DI出现在同一个方括号内;④一个方括号内包含多个寄存器时,它们只能作加法运算;⑤若方括号内包含基址指针BP,则隐含使用堆栈段寄存器SS提供段基址,否则均隐含使用数据段寄存器DS提供段基址。2.教材符号,表示其中的内容可省略。 .LIST∶伪指令。用于打开列表文件输出。 .RADIX∶伪指令。把缺省的基数改为2-16范围内的任意基数。.RADIX不影响DD、DQ、DT伪指令,在这些伪指令中,输入的数值只要没有加上数据类型就认为是十进制数。

指令系统中各种助记符的英文全名

我现将指令系统中各种助记符的英文全名写出来,各种助记符的记忆就会变得很简单o(∩_∩)o... 在这之前,先说一下寄存器: 数据寄存器分为: AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据. BH&BL=BX(base):基址寄存器,常用于地址索引; CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器. DH&DL=DX(data):数据寄存器,常用于数据传递。 他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。这2组8位寄存器可以分别寻址,并单独使用。 另一组是指针寄存器和变址寄存器,包括: SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置; BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置; SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针; DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。 指令指针IP(Instruction Pointer) 标志寄存器FR(Flag Register) OF(overflow flag) DF(direction flag) CF(carrier flag) PF(parity flag) AF(auxiliary flag) ZF(zero flag) SF(sign flag)

指令助记符

汇编语言操作码助记符共44个,寻址方式七种:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。可组合111条指令。 数据传送类助记符8个 MOV : move 对内部RAM和SFR之间的数据传送 MOVC: move code 读取ROM的数据传送 MOVX: move external RAM 对外部RAM的传送 XCH: exchange 字节交换 XCHD: exchange low-order digit 低半字节交换 SWAP: A中低4位与高4位互换 PUSH: push into 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 清0 CPL : complement 取反 RL: rotate left 左移 RLC : rotate left throught the carry flag带进位左移 RR: rotate right 右移 RRC : rotate right throught the carry flag 带进位右移 NOP: no operation 空操作 控制转移类操作码助记符(12个) (一)无条件转移(4个) LJMP : LONG JUMP 长跳转 AJMP : Absolute jump 绝对转移 SJMP : short jump 短转移

汇编数据传送指令助记符

Rn 8个工作寄存器R0-R7 Ri 4个工作寄存器区R0-R3 PSW.4 PSW.3 / RS1 RS0 Dircet 8位内部RAM单元地址 #data 8位常数 #data16 16位常数 addr16 16的目的地址;用LJMP\LCALL,指向64KB ROM空间地址 addr11 11的目的地址;用AJMP\ACALL,指向2KB ROM空间地址 Rel 8位带符号的偏移量;用SJMP和所有的条件转移指令指向-128到+127范围bit 位地址;内部RAM可直接寻址位 DPTR 数据指针;16位地址寄存器 rrr 3位二进制数:000-111 A 累加器 B 寄存器,可用于MUL/DIV指令中 C 进位位或者进位标志 @ 间接寄存器或者基址寄存器的前缀,@Ri,@DPTR / 位操作的前缀,把该位取反 (X) X中的内容 ((X)) 由X寻址的单元中的内容 8位数据传送指令: MOV A,Rn/direct/@Ri/#data 将Rn/direct/@Ri/#data的数据放到A中 MOV Rn,A/direct/#data MOV direct1,A/Rn/direct2/@Ri/#data MOV Ri,A/direct/#date 16位数据传送指令: MOV DPTR,#date16 将16位立即数传送到16位的指令和数据 外部数据传送指令: MOVX A,@Ri/@DPTR 将Ri、DPTR所指外部RAM单元的数据送与A MOVX @Ri,A MOVX @DPTR,A 查表指令: MOVC A,@A+DPTR MOVC A,@A+PC 数据交换指令: SWAP A A的低半字节与高半字节互换 XCHD A,@Ri Ri的低四位与A的低四位互换 XCH A,Rn/@Ri/direct Rn的内容与A的内容互换

单片机指令助记符及含义

(指令中的符号标识) Rn工作寄存器R0-R7 Ri工作寄存器R0和R1 @Ri间接寻址的8位RAM单元地址(00H-FFH) #data88位常数 #data1616位常数 addr1616位目标地址,能转移或调用到64KROM的任何地方 addr1111位目标地址,在下条指令的2K范围内转移或调用 Rel8位偏移量,用于SJMP和所有条件转移指令,范围-128~+127 Bit片内RAM中的可寻址位和SFR的可寻址位 Direct直接地址,范围片内RAM单元(00H-7FH)和80H-FFH $指本条指令的起始位置

指令序号助记符指令功能字节周期 对标志位的影响 P OV AC CY 8位立即数传送指令1MOV A,#data data→A立即数传送到累加器211000 2MOV diret,#data data→direct立即数传送到直接地址320000 3MOV@Ri,#data data→(Ri)立即数传送到间接RAM210000 4MOV Rn,#data data→Rn累加器传送到直接地址210000 16位立即数传送指令5MOV DPTR,#data16data16→DPTR16位常数加载到数据指针320000 内部RAM单元之间的数据传送指令6MOV direct2,direct1(direct1)→direct2直接地址传送到直接地址320000 7MOV direct,@Ri((Ri))→direct间接RAM传送到直接地址220000 8MOV direct,Rn(Rn)→direct寄存器传送到直接地址220000 9MOV@Ri,direct(direct)→(Ri)直接地址传送到间接RAM220000 10MOV Rn,direct(direct)→Rn直接地址传送到寄存器220000 通过累加器的数据传送 指令11MOV A,direct(direct)→A直接地址传送到累加器210000 12MOV A,@Ri((Ri))→A累加器传送到外部RAM(8地址)110000 13MOV A,Rn(Rn)→A寄存器传送到累加器110000 14MOV direct,A(A)→direct累加器传送到直接地址210000 15MOV@Ri,A(A)→(Ri)直接地址传送到直接地址110000 16MOV Rn,A(A)→Rn累加器传送到寄存器110000 Ri作间址寄存器的外部RAM单元读/写指令17MOVX A,@Ri((Ri))→A外部RAM(8地址)传送到累加器120000 18MOVX@Ri,A(A)→(Ri)累加器传送到外部RAM(8地址)120000 DPTR作间址寄存器的外部RAM单元读/写指令19MOVX A,@DPTR((DPTR))→A外部RAM(16地址)传送到累加器120000 20MOVX@DPTR,A(A)→(DPTR)累加器传送到外部RAM(16地址)120000 程序存储器读指令组21MOVC A,@A+DPTR((A)+(DPTR))→A代码字节传送到累加器121000 22MOVC A,@A+PC((A)+(PC))→A代码字节传送到累加器121000 整字节交换指令23XCH A,Rn(Rn)?(A)寄存器和累加器交换111000 24XCH A,direct(direct)?(A)直接地址和累加器交换211000 25XCH A,@Ri((Ri))?(A)间接RAM和累加器交换111000 半字节交换指令26XCHD A,@Ri((Ri))3~0?(A)3~0间接RAM和累加器交换低4位字节111000

汇编助记符汇总

助记符指令说明字节数周期数 (数据传递类指令) MOV A,Rn 寄存器传送到累加器 1 1 MOV A,direct 直接地址传送到累加器 2 1 MOV A,@Ri 累加器传送到外部RAM(8 地址) 1 1 MOV A,#data 立即数传送到累加器 2 1 MOV Rn,A 累加器传送到寄存器 1 1 MOV Rn,direct 直接地址传送到寄存器 2 2 MOV Rn,#data 累加器传送到直接地址 2 1 MOV direct,Rn 寄存器传送到直接地址 2 1 MOV direct,direct 直接地址传送到直接地址 3 2 MOV 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 1 MOVC 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 2 POP direct 直接地址弹出堆栈 2 2 XCH A,Rn 寄存器和累加器交换 1 1 XCH A, direct 直接地址和累加器交换 2 1 XCH A, @Ri 间接RAM 和累加器交换 1 1 XCHD A, @Ri 间接RAM 和累加器交换低4 位字节 1 1 (算术运算类指令) INC A 累加器加1 1 1 INC Rn 寄存器加1 1 1 INC direct 直接地址加1 2 1 INC @Ri 间接RAM 加1 1 1 INC DPTR 数据指针加1 1 2 DEC A 累加器减1 1 1 DEC Rn 寄存器减1 1 1 DEC direct 直接地址减1 2 2 DEC @Ri 间接RAM 减1 1 1 MUL AB 累加器和B 寄存器相乘 1 4 DIV AB 累加器除以B 寄存器 1 4

相关文档
相关文档 最新文档