MCS-51单片机汇编指令操作码助记符和英文全称对照.
- 格式:doc
- 大小:44.50 KB
- 文档页数:2
单片机英文缩写全称及中文名称一、寄存器部分各种寄存器:SFR= special function register //特殊功能寄存器(片内RAM 80H~FFH) ACC= accumulate //累加器PSW= programmer status word //程序状态字字SP= stack point //堆栈指针DPL,DPH=DPTR(data point register //数据指针寄存器)的低8位和高8位IE =interrupt enable // 中断使能IP= interrupt priority //中断优先级PCON =power control //电源控制SCON= serial control //串行口控制SBUF= serial buffer //串行数据缓冲TCON =timer control //定时器控制TMOD= timer mode //定时器方式PSW:CY= carry (psw.7) //进位(标志)AC= auxiliary carry (psw.6) //辅助进位F0= (psw.5) //用户自定义标志位RS1,RS0=register selection (psw.4,psw.3)//工作寄存器组选择位OV=overflow (psw.2) //溢出P=parity (psw.0) //奇偶校验位IE:EA=Enable All Interrupt //CPU开/关中断控制位ET=Enable Timer //定时器溢出中断允许位ES=Enable Serial Port //串行口中断允许位EX=Enable External //外部中断的中断允许位IP:PS=Priority Serial //串口优先级PT=Priority Timer //定时器优先级PX=Priority External //外部中断优先级SCON:RI=Receive Interrupt //串行口接收中断请求标志位TI=Transmit Interrupt //串行口发送中断请求标志位REN=receive enable //串行口接收允许控制位SM=serial mode //串行口工作方式选择位TCON:TF=Timer Overflow Flag //定时器溢出中断请求标志TR=Timer Run //定时器启动控制位IE=Interrupt Edge //外部中断请求标志位IT=Interrupt Type //外部中断触发方式选择位二、8051引脚RST=RESET (9)//复位,重启P3:RXD=Received eXchange Data (10,p3.0)//接收串行数据TXD=Transmit eXchange Data (11,p3.1)//发送串行数据INT0=interrupt 0 (12,p3.2)//中断0INT1=interrupt 1 (13,p3.3)//中断1T0=timer 0 (14,p3.4)//定时器0T1=timer 1 (15,p3.5)//定时器1RD=ReaD (16,p3.6)//外部数据存储器(RAM)的读信号WR=WRite (17,p3.7)//外部数据存储器(RAM)的写信号XTAL2,XTAL1=External Crystal Oscillator (18,19) //外部晶体振荡器PSEN=Program Store Enable (29) //程序存储器(ROM)使能ALE=Address Latch Enable (30) //地址锁存EA=External Address Enable (31) //外部程序存储器(ROM)地址允许三、其它PC = program counter //程序计数器 OE=output enable //输出使能MSB = most significant bit//最高有效位LSB = last significant bit//最低有效位 ORG = originally //起始来源DB = define byte //字节定义 EQU = equal //等于DW = define word //字定义 CLKOUT=Clock out,时钟输出BUSWDITH //总线宽度Vref=参考电压(带ADC的单片机中有的)HSO=High Speed Output //高速输出 HSI=High Speed Input=高速输入INST=Instruction //指令READY //就绪,总线中的就绪信号或引脚NMI=No Mask Interrupt (Input)//不可屏蔽的中断请求(输入)BHE=Bank High Enable //存储器的高位允许,如在80286系统中RAM的组织为16位的,分为高8位和低8位数据,分别的控制信号为BHE和BLE四、MCS-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 加1DEC Decrement 减1MUL Multiplication、Multiply 乘法DIV Division、Divide 除法逻辑运算类指令(10种助记符)ANL And Logic 逻辑与ORL OR Logic 逻辑或XRL Exclusive-OR Logic 逻辑异或CLR Clear 清零CPL Complement 取反 RLRotate 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 中断返回 JMP Jump Indirect SJMP Short Jump 短转移AJMP Absolute Jump 绝对转移LJMP Long Jump 长转移CJNE Compare and Jump if Not Equal 比较不相等则转移 DJNZ Decrement and Jump if Not Zero 减1后不为0则转移 JZJump if Zero 结果为0则转移JNZ Jump if Not Zero 结果不为0则转移 JCJump if the Carry flag is set 有进位则转移 JNCJump if Not Carry 无进位则转移 JBJump if the Bit is set) B位为1则转移JNB Jump if the Bit is Not set B位为0则转移JBC Jump if the Bit is set and Clear the bit 位为1则转移,并清除该位 NOPNo Operation 空操作位操作指令(1种助记符)SETB Set Bit 置位伪指令助记符英文注释功能ORG OriginDB Define ByteDW Define WordEQU EqualDATA DataXDATA External DataBIT BitEND End。
51汇编语言助记符英文全称1.通用数据传送指令.MOV----> moveMOVSX---->extended move with sign data MOVZX---->extended move with zero data PUSH---->pushPOP---->popPUSHA---->push allPOPA---->pop allPUSHAD---->push all dataPOPAD---->pop all dataBSWAP---->byte swapXCHG---->exchangeCMPXCHG---->compare and changeXADD---->exchange and addXLAT---->translate2.输入输出端口传送指令.IN---->inputOUT---->output3.目的地址传送指令.LEA---->load effective addressLDS---->load DSLES---->load ESLFS---->load FSLGS---->load GSLSS---->load SS4.标志传送指令.LAHF---->load AH from flagSAHF---->save AH to flagPUSHF---->push flagPOPF---->pop flagPUSHD---->push dflagPOPD---->pop dflag二、算术运算指令ADD---->addADC---->add with carryINC---->increase 1AAA---->ascii add with adjustDAA---->decimal add with adjustSUB---->substractSBB---->substract with borrowDEC---->decrease 1NEC---->negativeCMP---->compareAAS---->ascii adjust on substractDAS---->decimal adjust on substractMUL---->multiplicationIMUL---->integer multiplicationAAM---->ascii adjust on multiplicationDIV---->divideIDIV---->integer divideAAD---->ascii adjust on divideCBW---->change byte to wordCWD---->change word to double wordCWDE---->change word to double word with sign to EAXCDQ---->change double word to quadrate word三、逻辑运算指令───────────────────────────────────────AND---->andOR---->orXOR---->xorNOT---->notTEST---->testSHL---->shift leftSAL---->arithmatic shift leftSHR---->shift rightSAR---->arithmatic shift rightROL---->rotate leftROR---->rotate rightRCL---->rotate left with carryRCR---->rotate right with carry四、串指令───────────────────────────────────────MOVS---->move stringCMPS---->compare stringSCAS---->scan stringLODS---->load stringSTOS---->store stringREP---->repeatREPE---->repeat when equalREPZ---->repeat when zero flagREPNE---->repeat when not equalREPNZ---->repeat when zero flagREPC---->repeat when carry flagREPNC---->repeat when not carry flag五、程序转移指令───────────────────────────────────────1>无条件转移指令(长转移)JMP---->jumpCALL---->callRET---->returnRETF---->return far2>条件转移指令(短转移,-128到+127的距离内)JAE---->jump when above or equalJNB---->jump when not belowJB---->jump when belowJNAE---->jump when not above or equalJBE---->jump when below or equalJNA---->jump when not aboveJG---->jump when greaterJNLE---->jump when not less or equalJGE---->jump when greater or equalJNL---->jump when not lessJL---->jump when lessJNGE---->jump when not greater or equalJLE---->jump when less or equalJNG---->jump when not greaterJE---->jump when equalJZ---->jump when has zero flagJNE---->jump when not equalJNZ---->jump when not has zero flagJC---->jump when has carry flagJNC---->jump when not has carry flagJNO---->jump when not has overflow flagJNP---->jump when not has parity flagJPO---->jump when parity flag is oddJNS---->jump when not has sign flagJO---->jump when has overflow flagJP---->jump when has parity flagJPE---->jump when parity flag is evenJS---->jump when has sign flag3>循环控制指令(短转移)LOOP---->loopLOOPE---->loop equalLOOPZ---->loop zeroLOOPNE---->loop not equalLOOPNZ---->loop not zeroJCXZ---->jump when CX is zeroJECXZ---->jump when ECX is zero4>中断指令INT---->interruptINTO---->overflow interruptIRET---->interrupt return5>处理器控制指令HLT---->haltWAIT---->waitESC---->escapeLOCK---->lockNOP---->no operationSTC---->set carryCLC---->clear carryCMC---->carry make changeSTD---->set directionCLD---->clear directionSTI---->set interruptCLI---->clear interrupt六、伪指令─────────────────────────────────────DW---->definw wordPROC---->procedureENDP---->end of procedureSEGMENT---->segmentASSUME---->assumeENDS---->end segmentEND---->end。
直接寻址方式访问以下三种存储空间:
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。
MCS-51系列单片机指令快速记忆方法(简介)一、助记符号的记忆方法1 表格列举法把44个指令助记符按功能分为五类,每类列表记忆。
此处从略,请读者自己总结。
2 英文还原法单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照汉语有助于理解其助记符含义,从而加强记忆。
例如:增量INC-Inc remect减量DNC-D ecrement短转移SJMP-S hort j ump 长转移LJMP-L ong j ump比较转移CJNE-C ompare j ump n ot e quality绝对转移AJMP-A bsolute j ump空操作NOP-N o op eration交换XCH-E xch ange加法ADD-Add ition乘法MUL-Mul tiplication除法DIV-Div ision左环移RL-R otate l eft进位左环移RLC-R otate l eft c arry右环移RR-R otate r ight进位右环移RRC-R otate r ight c arry3 功能模块记忆法单片机的44个指令助记符,按所属指令功能可分为五大类,每类又可以按功能相似原则为2~3组。
这样,化整为零,各个击破,实现快速记忆。
1)数据传送组。
2)加减运算组MOV 内部数据传送ADD 加法MOVC 程序存储器传送ADDC 带进位加法MOVX 外部数据传送SUBB 带进位减法3)逻辑运算组。
4)子程序调用组。
ANL 逻辑与LCALL 长调用ORL 逻辑或ALALL 绝对调用XRL 逻辑异或RET 子程序返回二、指令的记忆方法1 指令操作数的有关符号MCS-51的寻址方式共有六种:立即数寻址、直接寻址、寄存器寻址、寄存器间址、变址寻址、相对寻址。
我们必须掌握其表示的方法。
1)立即数与直接地址。
#data8表示八位立即数,#data16表示是十六位立即数,data或direct表示直接地址。
MCS-51指令英语全简称第1页MCS-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 加1DEC Decrement 减1MUL 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 带进位循环右移SW AP Swap 低4位与高4位交换(4)控制转移类指令(17种助记符)ACALL Absolute subroutine Call 子程序绝对调用LCALL Long subroutine Call 子程序长调用RET Return from subroutine 子程序返回RETI Return from Interruption 中断返回 JMP Jump Indirect 跳转指令SJMP Short Jump 短转移AJMP Absolute Jump 绝对转移LJMP Long Jump 长转移CJNE Compare and Jump if Not Equal 比较不相等则转移DJNZ Decrement and 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) B 位为1则转移JNB Jump if the Bit is Not set B 位为0则转移JBC Jump if the Bit is set and Clear the bit 位为1则转移,并清除该位 NOP No Operation 空操作(5)位操作指令(1种助记符)SETB Set Bit 置位伪指令助记符 英文注释 功能ORG Origin 起始地址DB Define Byte 定义字节DW Define Word 定义字义EQU Equal 赋值(右赋左) 等于DA T A Data 数据赋值(右赋左)XDA T A External Data 外部数据赋值(右赋左)BIT Bit 位地址赋值END End 汇编结束DS Define storage 定义存储空间51外部引脚缩写 英文解释 中文解释RST (9) Reset 复位信号引脚RxD (10--P3.0) Receive Data 串口接收端TxD (11--P3.1) Transmit Data 串口发送端INT0(————)( 12--P3.2) Interrupt0 外部中断0信号输入引脚INT1(————) (13--P3.3) Interrupt1 外部中断1信号输入引脚T0 (14--P3.4) Timer0 定时/计数器0输入信号引脚T1 (15--P3.5) Timer1 定时/计数器1输入信号引脚WR(———) (16--P3.6) write 存储器的写信号写信号引脚RD(———) (17--P3.7) read 读信号引脚PSEN(—————) (29) progammer saving enable 外部程序存储器读选通信号ALE (30) Address Latch Enable 地址锁存允许信号EA(———) (31) enable 外部ROM选择信号51内部寄存器SFR special funtion register 特殊功能寄存器ACC accumulate 累加器APSW progammer status word 程序状态字CY (PSW.7) carry 进位标志位AC (PSW.6) assistant carry 辅助进位标志位OV (PSW.2) overflow 溢出标志位PC progammer counter 程序计数器DPTR data point register 数据指针寄存器SP stack point 堆栈指针TCON timer control 定时器控制寄存器TF1 (TCON.7) Timer1 flag T1中断标志位TR1 (TCON.6) Timer1 Run T1运行控制位TF0 (TCON.5) Timer0 flag T0中断标志位TR0 (TCON.4) Timer0 Run T0运行控制位IE1 (TCON.3) Interrupt1 exterior 外部中断1中断标志位IT1 (TCON.2) Interrupt1 touch 外部中断1 触发方式选择位 IE0 (TCON.1) Interrupt0 exterior 外部中断0中断标志位IT0 (TCON.0) Interrupt0 touch 0-电平触发 1-下降沿触发IE (A8H) interrupt enable 中断允许寄存器EA (IE.7) enable all interrupt 中断总允许位ES (IE.4) enable serial 串行口中断允许位ET1 (IE.3) enable timer 1 T1中断允许位EX1 (IE.2) enable exterior 1 外部中断1中断允许位ET0 (IE.1) enable timer 0 T0中断允许位EX0 (IE.0) enable exterior 0 外部中断0中断允许位IP (B8H) interrupt priority 中断优先级寄存器PS (IP.4) priority serial 串口优先级标志位PT1 (IP.3) priority timer 1 定时器1优先级标志位PX1 (IP.2) priority exterior 1 外部中断1优先级标志位PT0 (IP.1) priority timer 0 定时器0优先级标志位PX0 (IP.0) priority exterior 0 外部中断0优先级标志位 PCON (87H) power control 电源控制和波特率选择TMOD (89H) timer mode 定时器方式控制寄存器MSB = most significant bit//最高有效位LSB = last significant bit//最低有效位OE = output enable //输出使能PROG progamme 程序XTAL:External Crystal Oscillator,外部晶体振荡器 CLKOUT:Clock out,时钟输出BUSWDITH:总线宽度Vref:参考电压(带ADC的单片机中有的)RESET:复位,重启ACH:??HSO:High Speed Output,高速输出HSI:High Speed Input:高速输入INST:Instruction,指令READY:就绪,总线中的就绪信号或引脚NMI:No Mask Interruput (Input):不可屏蔽的中断请求(输入)RXD:Receive Data ,接收串行数据,单片机中有UART/USART功能的串行数据 输入引脚TXD:Transmit Data,发送串行数据,单片机中有UART/USART功能的串行数据输出引脚BHE:Bank High Enable:存储器的高位允许,如在80286系统中RAM的组织为16位的,分为高8位和低8位数据,分别的控制信号为BHE和BLEALE:Address Latch Enable,地址信号锁定允许,这在早期Intel总线结构中是必不可少的信号,常和锁存器使用来分离地址/数据复用端口的地址和数据信。
直接寻址方式访问以下三种存储空间:
1.特殊功能寄存器(只能用直接寻址方式访问)。
2.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。