单片机指令英文全称.docx
- 文档编号:24857573
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:23
- 大小:24.10KB
单片机指令英文全称.docx
《单片机指令英文全称.docx》由会员分享,可在线阅读,更多相关《单片机指令英文全称.docx(23页珍藏版)》请在冰豆网上搜索。
单片机指令英文全称
51单片机汇编指令集(指令集带英文翻译)
一、数据传送类指令(7种助记符)
MOV(英文为Move):
对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;
MOVC(MoveCode)读取程序存储器数据表格的数据传送;
MOVX (MoveExternalRAM) 对外部RAM的数据传送;
XCH (Exchange) 字节交换;
XCHD (Exchangelow-orderDigit) 低半字节交换;
PUSH (PushontoStack) 入栈;
POP (PopfromStack) 出栈;
二、算术运算类指令(8种助记符)
ADD(Addition)加法;
ADDC(AddwithCarry)带进位加法;
SUBB(SubtractwithBorrow)带借位减法;
DA(DecimalAdjust)十进制调整;
INC(Increment)加1;
DEC(Decrement)减1;
MUL(Multiplication、Multiply)乘法;
DIV(Division、Divide)除法;
三、逻辑运算类指令(10种助记符)
ANL(ANDLogic)逻辑与;
ORL(ORLogic)逻辑或;
XRL(Exclusive-ORLogic)逻辑异或;
CLR(Clear)清零;
CPL(Complement)取反;
RL(Rotateleft)循环左移;
RLC(RotateLeftthroughttheCarryflag)带进位循环左移;
RR(RotateRight)循环右移;
RRC (RotateRightthroughttheCarryflag)带进位循环右移;
SWAP(Swap) 低4位与高4位交换;
四、控制转移类指令(17种助记符)
ACALL(AbsolutesubroutineCall)子程序绝对调用;
LCALL(LongsubroutineCall)子程序长调用;
RET(Returnfromsubroutine)子程序返回;
RETI(ReturnfromInterruption)中断返回;
SJMP(ShortJump)短转移;
AJMP(AbsoluteJump)绝对转移;
LJMP(LongJump)长转移;
CJNE(CompareJumpifNotEqual)比较不相等则转移;
DJNZ(DecrementJumpifNotZero)减1后不为0则转移;
JZ(JumpifZero)结果为0则转移;
JNZ(JumpifNotZero)结果不为0则转移;
JC(JumpiftheCarryflagisset)有进位则转移;
JNC(JumpifNotCarry)无进位则转移;
JB(JumpiftheBitisset)位为1则转移;
JNB(JumpiftheBitisNotset)位为0则转移;
JBC(JumpiftheBitissetandClearthebit)位为1则转移,并清除该位;
NOP(NoOperation) 空操作;
五、位操作指令(1种助记符)
CLR位清零;
SETB(SetBit) 位置1。
8种常用伪指令
1.ORG16位地址;
此指令用在原程序或数据块的开始,指明此语句后面目标程序或数据块存放的起始地址。
2.[标号:
]DB字节数据项表;
将项表中的字节数据存放到从标号开始的连续字节单元中。
例如:
SEG:
DB88H,100,“7”,“C”
3.[标号:
]DW双字节数据项表;
定义16位地址表,16地址按低位地址存低位字节,高位地址存高位字节。
例如:
TAB:
DW1234H,7BH
4.名字EQU表达式或名字=表达式;
用与给一个表达式赋值或给字符串起名字。
之后名字可用做程序地址,数据地址或立即数地址使用。
名字必须是一字母开头的字母数字串。
例如:
COUNT=10或SPACEEQU10H
5.名字DATA直接字节地址;
给8位内部RAM单元起个名字,名字必须是一字母开头的字母数字串。
同一单元可起多个名字。
例如:
ERRORDATA80H
6.名字XDATA直接字节地址;
给8位外部RAM起个名字,名字规定同DATA伪指令。
例如:
IO_PORTXDATA0CF04H
7.名字BIT位指令;
给一可位寻址的位单元起个名字,规定同DATA伪指令。
例如:
SWTBIT30H
8.[标号:
] END;
指出源程序到此结束,汇编对其后的程序语句不予理睬。
源程序只在主程序最后使用一个END。
1.数据传送指令(30条)
MOVA,Rn寄存器送A11E8--EF
MOVA,data直接字节送A21E5
MOVA,@Ri间接RAM送A11E6--E7
MOVA,#data立接数送A2174
MOVRn,AA送寄存器11F8--FF
MOVRn,data直接数送寄存器22A8--AF
MOVRn,#data立即数送寄存器2178--7F
MOVdata,AA送直接字节21F5
MOVdata,Rn寄存器送直接字节2188—8F
MOVdata,data直接字节送直接字节3285
MOVdata,@Ri间接Rn送直接字节2286;87
MOVdata,#data立即数送直接字节3275
MOV@Ri,AA送间接Rn12F6;F7
MOV@Ri,data直接字节送间接Rn11A6;A7
MOV@Ri,#data立即数送间接Rn2276;77
MOVDPTR,#data1616位常数送数据指针3190
MOVC,bit直接位送进位位21A2
MOVbit,C进位位送直接位2292
MOVCA,@A+DPTRA+DPTR寻址程序存贮字节送A3293
MOVCA,@A+PCA+PC寻址程序存贮字节送A1283
MOVXA,@Ri外部数据送A(8位地址)12E2;E3
MOVXA,@DPTR外部数据送A(16位地址)12E0
MOVX@Ri,AA送外部数据(8位地址)12F2;F3
MOVX@DPTR,AA送外部数据(16位地址)12F0
PUSHdata直接字节进栈道,SP加122C0
POPdata直接字节出栈,SP减122D0
XCHA,Rn寄存器与A交换11C8—CF
XCHA,data直接字节与A交换21C5
XCHA,@Ri间接Rn与A交换11C6;C7
XCHDA,@Ri间接Rn与A低半字节交换11D6;D7
2.逻辑运算指令(35条)
ANLA,Rn寄存器与到A1158—5F
ANLA,data直接字节与到A2155
ANLA,@Ri间接RAM与到A1156;57
ANLA,#data立即数与到A2154
ANLdata,AA与到直接字节2152
ANLdata,#data立即数与到直接字节3253
ANLC,bit直接位与到进位位2282
ANLC,/bit直接位的反码与到进位位22B0
ORLA,Rn寄存器或到A1148—4F
ORLA,data直接字节或到A2145
ORLA,@Ri间接RAM或到A1146;47
ORLA,#data立即数或到A2144
ORLdata,AA或到直接字节2142
ORLdata,#data立即数或到直接字节3243
ORLC,bit直接位或到进位位2272
ORLC,/bit直接位的反码或到进位位22A0
XRLA,Rn寄存器异或到A1168—6F
XRLA,data直接字节异或到A2165
XRLA,@Ri间接RAM异或到A1166;67
XRLA,#data立即数异或到A2164
XRLdata,AA异或到直接字节2162
XRLdata,#data立即数异或到直接字节3263
SETBC进位位置111D3
SETBbit直接位置121D2
CLRAA清011E4
CLRC进位位清011C3
CLRbit直接位清021C2
CPLAA求反码11F4
CPLC进位位取反11B3
CPLbit直接位取反21B2
RLAA循环左移一位1123
RLCAA带进位左移一位1133
RRAA右移一位1103
RRCAA带进位右移一位1113
SWAPAA半字节交换11C4
3.算术运算指令(24条)
ADDA,Rn寄存器加到A1128—2F
ADDA,data直接字节加到A2125
ADDA,@Ri间接RAM加到A1126;27
ADDA,#data立即数加到A2124
ADDCA,Rn寄存器带进位加到A1138—3F
ADDCA,data直接字节带进位加到A2135
ADDCA,@Ri间接RAM带进位加到A1136;37
ADDCA,#data立即数带进位加到A2134
SUBBA,Rn从A中减去寄存器和进位1198—9F
SUBBA,data从A中减去直接字节和进位2195
SUBBA,@Ri从A中减去间接RAM和进位1196;97
SUBBA,#data从A中减去立即数和进位2194
INCAA加11104
INCRn寄存器加11108—0F
INCdata直接字节加12105
INC@Ri间接RAM加11106;07
INCDPTR数据指针加112A3
DECAA减11114
DECRn寄存器减11118—1F
DECdata直接字节减12115
DEC@Ri间接RAM减11116;17
MULABA乘B14A4
DIVABA被B除1484
DAAA十进制调整11D4
4.转移指令(22条)
AJMPaddr11绝对转移22*1
LJMPaddr16长转移3202
SJMPrel短转移2280
JMP@A+DPTR相对于DPTR间接转移1273
JZrel若A=0则转移2260
JNZrel若A≠0则转移2270
JCrel若C=1则转移2240
JNCrel若C≠1则转移2250
JBbit,rel若直接位=1则转移3220
JNBbit,rel若直接位=0则转移3230
JBCbit,rel若直接位=1则转移且清除3210
CJNEA,data,rel直接数与A比较,不等转移32B5
CJNEA,#data,rel立即数与A比较,不等转移32B4
CJNE@Ri,#data,rel立即数与间接RAM比较,不等转移32B6;B7
CJNERn,#data,rel立即数与寄存器比较不等转移32B8—BF
DJNZRn,rel寄存器减1不为0转移22D8—DF
DJNZdata,rel直接字节减1不为0转移32D5
ACALLaddr11绝对子程序调用22*1
LCALLaddr16子程序调用3212
RET子程序调用返回1222
RETI中断程序调用返回1232
NOP空操作1100
版本二
汇编指令英文全称
1.通用数据传送指令
MOV---->move
MOVdest,src;dest←src
MOV指令把一个字节或字的操作数从源地址src传送至目的地址dest。
MOVSX---->extendedmovewithsigndata
MOVZX---->extendedmovewithzerodata
PUSH---->push
POP---->pop
进栈出栈指令
PUSHA---->pushall
POPA---->popall
PUSHAD---->pushalldata
POPAD---->popalldata
BSWAP---->byteswap
XCHG---->exchange
交换指令用来将源操作数和目的操作数内容交换,操作数可以是字、也可以是字节,可以在通用寄存器与通用寄存器或存储器之间对换数据,但不能在存储器与存储器之间对换数据。
movax,1234h;ax=1234h
movbx,5678h;bx=5678h
xchgax,bx;ax=5678h,bx=1234h
xchgah,al;ax=7856h
CMPXCHG---->compareandchange
XADD---->exchangeandadd
XLAT---->translate
换码指令用于将BX指定的缓冲区中、AL指定的位移处的数据取出赋给AL。
2.输入输出端口传送指令
IN---->input
OUT---->output
3.目的地址传送指令
LEA---->loadeffectiveaddres
有效地址传送指令
movbx,0400h
movsi,3ch
leabx,[bx+si+0f62h];BX=139EH
这里BX得到的是主存单元的有效地址,不是物理地址,也不是该单元的内容。
LDS---->loadDS
LES---->loadES
LFS---->loadFS
LGS---->loadGS
LSS---->loadSS
4.标志传送指令
LAHF---->loadAHfromflag
SAHF---->saveAHtoflag
PUSHF---->pushflag
POPF---->popflag
PUSHD---->pushdflag
POPD---->popdflag
二、算术运算指令
ADD---->add
加法指令moval,0fbh;al=0fbh
addal,07h;al=02h
ADC---->addwithcarry
INC---->increase1
AAA---->asciiaddwithadjust
DAA---->decimaladdwithadjust
SUB---->substract
SBB---->substractwithborrow
DEC---->decreasesubstract1
NEC---->negative
CMP---->compare
AAS---->asciiadjustonsubstract
DAS---->decimaladjustonsubstract
MUL---->multiplication
IMUL---->integermultiplication
AAM---->asciiadjustonmultiplication
DIV---->divide
IDIV---->integerdivide
AAD---->asciiadjustondivide
CBW---->changebytetoword
CWD---->changewordtodoubleword
CWDE---->changewordtodoublewordwithsigntoEAX
CDQ---->changedoublewordtoquadrateword
三、逻辑运算指令
AND---->and
or---->or
XOR---->xor
NOT---->not
TEST---->test
SHL---->shiftleft
SAL---->arithmaticshiftleft
SHR---->shiftright
SAR---->arithmaticshiftright
ROL---->rotateleft
ROR---->rotateright
RCL---->rotateleftwithcarry
RCR---->rotaterightwithcarry
四、串指令
MOVS---->movestring
CMPS---->comparestring
SCAS---->scanstring
LODS---->loadstring
STOS---->storestring
REP---->repeat
REPE---->repeatwhenequal
REPZ---->repeatwhenzeroflag
REPNE---->repeatwhennotequal
REPNZ---->repeatwhenzeroflag
REPC---->repeatwhencarryflag
REPNC---->repeatwhennotcarryflag
五、程序转移指令
1>无条件转移指令(长转移)
JMP---->jump
CALL---->call
RET---->return
RETF---->returnfar
2>条件转移指令(短转移,-128到+127的距离内)
JAE---->jumpwhenaboveorequal
JNB---->jumpwhennotbelow
JB---->jumpwhenbelow
JNAE---->jumpwhennotaboveorequal
JBE---->jumpwhenbeloworequal
JNA---->jumpwhennotabove
JG---->jumpwhengreater
JNLE---->jumpwhennotlessorequal
JGE---->jumpwhengreaterorequal
JNL---->jumpwhennotless
JL---->jumpwhenless
JNGE---->jumpwhennotgreaterorequal
JLE---->jumpwhenlessorequal
JNG---->jumpwhennotgreater
JE---->jumpwhenequal
JZ---->jumpwhenhaszeroflag
JNE---->jumpwhennotequal
JNZ---->jumpwhennothaszeroflag
JC---->jumpwhenhascarryflag
JNC---->jumpwhennothascarryflag
JNO---->jumpwhennothasoverflowflag
JNP---->jumpwhennothasparityflag
JPO---->jumpwhenparityflagisodd
JNS---->jumpwhennothassignflag
JO---->jumpwhenhasoverflowflag
JP---->jumpwhenhasparityflag
JPE---->jumpwhenparityflagiseven
JS---->jumpwhenhassignflag
3>循环控制指令(短转移)
LOOP---->loop
LOOPE---->loopequal
LOOPZ---->loopzero
LOOPNE---->loopnotequal
LOOPNZ---->loopnotzero
JCXZ---->jumpwhenCXiszero
JECXZ---->jumpwhenECXiszero
4>中断指令
INT---->interrupt
INTO---->overflowinterrupt
IRET---->interruptreturn
5>处理器控制指令
HLT---->halt
WAIT---->wait
ESC---->escape
LOCK---->lock
NOP---->nooperation
STC---->setcarry
CLC---->clearcarry
CMC---->carrymakechange
STD---->setdirection
CLD---->cleardirection
STI---->setinterrupt
CLI---->clearinterrupt
六、伪指令
DW---->definwword
PROC---->procedure
ENDP---->endofprocedure
SEGMENT---->segment
ASSUME---->assume
ENDS---->endsegment
END---->end
汇编指令中文释义
数据传输指令
───────────────────────────────────────
它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.
1.通用数据传送指令.
MOV传送字或字节.
MOVSX先符号扩展,再传送.
MOVZX先零扩展,再传送.
PUSH把字压入堆栈.
POP把字弹出堆栈.
PUSHA把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.
POPA把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.
PUSHAD把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.
POPAD把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.
BSWAP交换32位寄存器里字节的顺序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 指令 英文 全称
![提示](https://static.bdocx.com/images/bang_tan.gif)