单片机指令英文全称_第1页
单片机指令英文全称_第2页
单片机指令英文全称_第3页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、5 1单片机汇编指令集 (指令集带英文翻译)、数据传送类指令(7种助记符)MOV(英文为Move):对内部数据存放器 RAM和特殊功能存放器SFR的数据进行 传送;MOVQMove Code)读取程序存储器数据表格的数据传送;MOVX (Move External RAM) 对外部 RAM的数据传送;XCH (Exchange)字节交换;XCHD (Excha nge low-order Digit)低半字节交换;PUSH (Push onto Stack) 入栈;POP (Pop from Stack) 出栈;二、算术运算类指令(8种助记符)ADD(Additi on)加法;ADDC(Add

2、 with Carry) 带进位加法;SUBB(Subtract with Borrow)带借位减法;DA(Decimal Adjust)十进制调整;INC(I ncreme nt)加 1 ;DEC(Decreme nt)减 1 ;MUL(Multiplication、Multiply)乘法;DIV(Division 、Divide)除法;三、逻辑运算类指令(10种助记符)ANL(AND Logic)逻辑与;ORL(OR Logic)逻辑或;XRL(Exclusive-OR Logic)逻辑异或;CLR(Clear)清零;CPL(Compleme nt)取反;RL(Rotate left) 循

3、环左移;RLC(Rotate Left throught the Carry flag)带进位循环左移;RR(Rotate Right)循环右移;RRC (Rotate Right throught the Carry flag)带进位循环右移;SWAP (Swap)低4位与高4位交换;四、控制转移类指令(17种助记符)ACALL( Absolute subrout ine Call)子程序绝对调用;LCALL( Long subrout ine Call)子程序长调用;RET (Retur n from subrout ine)子程序返回;RETI( Return from Interrup

4、tion)中断返回;SJMP( Short Jump )短转移;AJMP(Absolute Jump )绝对转移;LJMP( Long Jump)长转移;CJNE (Compare Jump if Not Equal) 比拟不相等那么转移;DJNZ (Decreme nt 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

5、 (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 Operatio n)空操作;五、位操作指令(1种助记符)CLR位清零;SETB(Set Bit) 位置1 。8种常用伪指令1. ORG 16位地址;此指令用在原程序或数据块的开始,指明此语句后面目标程序或数据块存放的起 始地址。2. 标号:DB字节数据项表;将项表中的字节数据存放到从标号开始的连续字节单元中。例如:S

6、EG DB 88H,100,“ 7,“ C3. 标号:DW 双字节数据项表;定义16位地址表,16地址按低位地址存低位字节,高位地址存高位字节。例如:TAB DW 1234H 7BH4 .名字EQU表达式 或名字二表达式;用与给一个表达式赋值或给字符串起名字。之后名字可用做程序地址,数据地址或立即数地址使用。名字必须是一字母开头的字母数字串。例如:COUNT=1或 SPACE EQU 10H5 .名字DATA直接字节地址;给8位内部RAM单元起个名字,名字必须是一字母开头的字母数字串。同一单元可起多个名字。例如:ERROR DATA 80H6 .名字XDATA直接字节地址;给8位外部RAM起个

7、名字,名字规定同DATA伪指令。例如:IO_PORT XDATA 0CF04H7 .名字BIT位指令;给一可位寻址的位单元起个名字,规定同DATA伪指令。例如:SWT BIT 30H8.标号:END;指出源程序到此结束,汇编对其后的程序语句不予理睬。源程序只在主程序最后 使用一个END。1. 数据传送指令(30条)2. MOV A,Rn 存放器送 A 1 1 E8-EF3. MOV A,data 直接字节送 A 2 1 E54. MOV A,Ri 间接 RAM送 A 1 1 E6-E75. MOV A,#data 立接数送 A 2 1 746. M0V Rn,A A 送存放器 1 1 F8-F

8、F7. M0V Rn,data直接数送存放器 2 2 A8-AF8. M0V Rn,#data立即数送存放器2 1 78-7F9. M0V data,A A 送直接字节 2 1 F510. MOV data,Rn存放器送直接字节2 1 88 8F11. M0V data,data 直接字节送直接字节 3 2 8512. M0V data,Ri 间接 Rn 送直接字节 2 2 86;8713. M0V data,#data 立即数送直接字节 3 2 7514. M0V Ri,A A 送间接 Rn 1 2 F6;F715. M0V Ri,data 直接字节送间接 Rn 1 1 A6;A716. M

9、0V Ri,#data 立即数送间接 Rn 2 2 76;7717. M0V DPTR,#data16 16位常数送数据指针 3 1 9018. M0V C,bit 直接位送进位位 2 1 A219. M0V bit,C 进位位送直接位 2 2 9220. MOVC A,A+DPTR A+DP寻址程序存贮字节送 A 3 2 9321. M0VC A,A+PC A+P寻址程序存贮字节送 A 1 2 8322. MOVX A,Ri外部数据送A8位地址1 2 E2;E323. MOVX A,DPT外部数据送 A 16 位地址1 2 E024. MOVX Ri,A A送外部数据8位地址1 2 F2;F

10、325. MOVX DPTR,A 送外部数据16 位地址1 2 F026. PUSH data直接字节进栈道,SP加1 2 2 CO27. POP data直接字节出栈,SP减1 2 2 D028. XCH A,Rn存放器与 A 交换1 1 C8 CF29. XCH A,data 直接字节与A交换2 1 C530. XCH A,Ri 间接 Rn 与 A 交换 1 1 C6;C731. XCHD A,Ri间接Rn与A低半字节交换1 1 D6;D732.2.逻辑运算指令35条33. ANL A,Rn 存放器与到 A 1 1 58 5F34. ANL A,data 直接字节与到A 2 1 5535.

11、 ANL A,Ri 间接 RAM与至U A 1 1 56;5736. ANL A,#data 立即数与到 A 2 1 5437. ANL data,A A 与到直接字节2 1 5238. ANL data,#data 立即数与到直接字节 3 2 5339. ANL C,bit 直接位与到进位位 2 2 8240. ANL C,/bit直接位的反码与到进位位 2 2 B041.ORL A,Rn 存放器或到 A 1 1 48 4F42.ORL A,data 直接字节或到 A 2 1 4543.ORL A,Ri 间接 RAM或至U A 1 1 46;4744.ORL A,#data 立即数或到 A

12、2 1 4445.ORL data,A A 或到直接字节2 1 4246.ORL data,#data 立即数或到直接字节 3 2 4347.ORL C,bit 直接位或到进位位 2 2 7248.ORL C,/bit 直接位的反码或到进位位 2 2 A049. XRL A,Rn存放器异或到 A 1 1 68 6F50. XRL A,data 直接字节异或到A 2 1 6551. XRL A,Ri 间接 RAM异或到 A 1 1 66;6752. XRL A,#data 立即数异或到 A 2 1 6453. XRL data,A A 异或到直接字节 2 1 6254. XRL data,#da

13、ta 立即数异或到直接字节 3 2 6355.SETB C 进位位置 1 1 1 D356.SETB bit 直接位置 1 2 1 D257. CLR A A 清0 1 1 E458. CLR C进位位清0 1 1 C359. CLR bit 直接位清 0 2 1 C260. CPL A A 求反码 1 1 F461. CPL C进位位取反1 1 B362. CPL bit 直接位取反2 1 B263. RL A A循环左移一位1 1 2364. RLC A A 带进位左移一位1 1 3365. RR A A 右移一位 1 1 0366. RRC A A带进位右移一位1 1 1367.SWAP

14、 A A半字节交换1 1 C4683算术运算指令24条69. ADD A,Rn 存放器加到 A 1 1 28 2F70. ADD A,data 直接字节加到 A 2 1 2571. ADD A,Ri 间接 RAM加到 A 1 1 26;2772. ADD A,#data 立即数加到 A 2 1 2473. ADDC A,Rn存放器带进位加到 A 1 1 38 3F74. ADDC A,data直接字节带进位加到 A 2 1 3575. ADDC A,Ri 间接 RAM带进位加到 A 1 1 36;3776. ADDC A,#data立即数带进位加到 A 2 1 3477.SUBB A,Rn从A

15、中减去存放器和进位 1 1 98 9F78.SUBB A,data 从A中减去直接字节和进位 2 1 9579.SUBB A,Ri从A中减去间接 RAM和进位1 1 96;9780.SUBB A,#data 从A中减去立即数和进位 2 1 9481.INC A A 加 1 1 1 0482.INC Rn 存放器加 1 1 1 08 0F83.INC data 直接字节加1 2 1 0584.INC Ri 间接 RAM加 1 1 1 06;0785.INC DPTR数据指针加1 1 2 A386. DEC A A 减 1 1 1 1487. DEC Rn存放器减1 1 1 18 仆88. DEC

16、 data直接字节减1 2 1 1589. DEC Ri 间接 RAM减 1 1 1 16;1790. MUL AB A乘 B 1 4 A491. DIV AB A 被 B除 1 4 8492. DA A A十进制调整1 1 D4934转移指令22条94. AJMP addr 11 绝对转移 2 2 *195. LJMP addr 16 长转移 3 2 0296.SJMP rel 短转移 2 2 8097. JMP A+DPT相对于DPTR间接转移1 2 7398. JZ rel 假设 A= 0 那么转移 2 2 6099. JNZ rel 假设心0那么转移2 2 70100. JC rel

17、假设 C= 1 那么转移 2 2 40101 .JNC rel 假设 Cm 1 那么转移 2 2 50102 .JB bit,rel假设直接位=1那么转移3 2 20103. JNB bit,rel假设直接位=0那么转移3 2 30104. JBC bit,rel假设直接位=1那么转移且去除3 2 10105. CJNE A,data,rel直接数与 A 比拟,不等转移3 2 B5106. CJNE A,#data,rel立即数与 A 比拟,不等转移 3 2 B4107. CJNE Ri,#data,rel 立即数与间接 RAM:匕较,不等转移 3 2 B6;B7108. CJNE Rn ,#

18、data,rel立即数与存放器比拟不等转移 3 2 B8 BF109. DJNZ Rn ,rel 存放器减1不为0转移2 2 D8 DF110. DJNZ data,rel直接字节减1不为0 转移3 2 D5111. ACALL addr 11 绝对子程序调用 2 2 *1112LCALL addr 16 子程序调用 3 2 12113. RET子程序调用返回1 2 22114. RETI中断程序调用返回1 2 32115. N0P 空操作 1 1 00版本二汇编指令英文全称1. 通用数据传送指令MOV-> moveMOV dest,src ;dest J srcMOV指令把一个字节或字

19、的操作数从源地址src传送至目的地址dest。MOVSX->exte nded move with sign dataMOVZX->exte nded move with zero dataPUSH>pushPOP>pop进栈出栈指令PUSHA>push allPOPA->pop allPUSHAD->push all dataPOPAD->pop all dataBSWAP>byte swapXCHG>excha nge交换指令用来将源操作数和目的操作数内容交换,操作数可以是字、也可以是字节,可以在通用存放器与通用存放器或存储器之间

20、对换数据,但不能在存储器与存储器之间对换数据。mov ax,1234h ;ax=1234hmov bx,5678h ;bx=5678hxchg ax,bx ;ax=5678h ,bx=1234hxchg ah,al ;ax=7856hCMPXCHG>compare and changeXADD>exchange and addXLAT>translate换码指令用于将BX指定的缓冲区中、AL指定的位移处的数据取出赋给 AL。2. 输入输出端口传送指令IN>inputOUT>output3. 目的地址传送指令LEA>load effective addres有

21、效地址传送指令 mov bx,0400h mov si,3ch lea bx,bx+si+0f62h ;BX=139EH这里BX得到的是主存单元的有效地址,不是物理地址,也不是该单 元的内容。LDS>load DSLFS>load FSLGS->load GSLSS>load SS4. 标志传送指令LAHF->load AH from flagSAHF->save AH to flagPUSHF>push flagPOPF->pop flagPUSHD>push dflagPOPD->pop dflag二、算术运算指令ADD>a

22、dd加法指令 mov al,0fbh ;al=0fbhadd al,07h ;al=02hADC>add with carryINC>increase 1AAA>ascii add with adjustDAA>decimal add with adjustSUB>substractSBB>substract with borrowDEC>decrease substract 1NEC>negativeCMP>compareAAS>ascii adjust on substractDAS>decimal adjust on su

23、bstractMUL>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 qu

24、adrate 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 str

25、ingSCAS>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>ca

26、llRET>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>

27、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 car

28、ry 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

29、 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->

30、;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 segme

31、ntEND>end汇编指令中文释义数据传输指令它们在存贮器和存放器、存放器和输入输出端口之间传送数据 .1. 通用数据传送指令 .MOV传送字或字节.MOVSXfe符号扩展,再传送.MOVZXt零扩展,再传送.push把字压入堆栈.POP把字弹出堆栈.PUSHA把 AX,CX,DX,BX,SP,BP,SI,DI 依次压入堆栈.POPA把 DI,SI,BP,SP,BX,DX,CX,AX 依次弹出堆栈.PUSHADE EAX,ECX,EDX,EBX,ESP,EBP,ESI,ED依次压入堆栈.POPAD把 EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.BSWA咬换

32、32位存放器里字节的顺序XCHG交换字或字节.至少有一个操作数为存放器,段存放器不可作 为操作数 CMPXCH比拟并交换操作数.第二个操作数必须为累加器AL/AX/EAX XADD先交换再累加.结果在第一个操作数里XLAT 字节查表转换 .BX 指向一张 256 字节的表的起点 , AL 为表的索引值 0-255,0-FFH; 返回 AL 为查表结果 . BX+AL->AL 2. 输入输出端口传送指令 .IN I/O端口输入.语法:IN累加器,端口号丨DXOUT I/O端口输出. 语法:OUT 端口号丨DX,累加器 输入输出端口由立即方式指定时 , 其范围是 0-255; 由存放器 DX

33、 指定时 ,其范围是 0-65535.3. 目的地址传送指令 .LEA 装入有效地址 .例: LEA DX,string ;把偏移地址存到 DX.LDS 传送目标指针 ,把指针内容装入 DS.例: LDS SI,string ;把段地址 : 偏移地址存到 DS:SI.LES 传送目标指针 ,把指针内容装入 ES.例: LES DI,string ;把段地址 : 偏移地址存到 ES:DI.LFS 传送目标指针 , 把指针内容装入 FS. 例: LFS DI,string ;把段地址 : 偏移地址存到 FS:DI.LGS 传送目标指针 , 把指针内容装入 GS.例: LGS DI,string ;

34、把段地址 : 偏移地址存到 GS:DI.LSS 传送目标指针 ,把指针内容装入 SS.例: LSS DI,string ;把段地址 : 偏移地址存到 SS:DI.4. 标志传送指令 .LAHF 标志存放器传送 , 把标志装入 AH.SAHF标志存放器传送,把AH内容装入标志存放器PUSHF标志入栈.POPF标志出栈.PUSHD 32位标志入栈 .POPD 32位标志出栈 .二、算术运算指令ADD力口法.ADC带进位加法.INC 加 1.AAA 加法的 ASCII 码调整 .DAA 加法的十进制调整 .SUB 减法.SBB 带借位减法 .DEC 减 1.NEC求反以0减之.CMP比拟.两操作数作

35、减法,仅修改标志位,不回送结果.AAS 减法的 ASCII 码调整.DAS 减法的十进制调整 .MUL无符号乘法.IMUL 整数乘法 .以上两条,结果回送AH和AL字节运算,或DX和AX字运算, AAM乘法的ASCII码调整.DIV 无符号除法 .IDIV 整数除法 . 以上两条 , 结果回送 : 商回送AL,余数回送AH,字节运算; 或商回送AX,余数回送DX,字运算.AAD 除法的 ASCII 码调整.CBW字节转换为字.把AL中字节的符号扩展到AH中去 CWD字转换为双字.把AX中的字的符号扩展到DX中去 CWDE字转换为双字.把AX中的字符号扩展到EAX中去 CDQ双字扩展.把EAX中

36、的字的符号扩展到 EDX中去三、逻辑运算指令AND与运算.or 或运算 .XOR异或运算.NOT取反.TEST 测试. 两操作数作与运算 , 仅修改标志位 , 不回送结果 .SHL 逻辑左移 .SAL 算术左移 .(=SHL)SHR逻辑右移.SAR 算术右移 .(=SHR) 当值为负时,高位补 1 ;当值为正时,高位 补 0ROL 循环左移 .ROR循环右移.RCL 通过进位的循环左移 .RCR通过进位的循环右移.以上八种移位指令 ,其移位次数可达 255 次. 移位一次时 , 可直接用操作码 . 如 SHL AX,1.移位1次时,那么由存放器CL给出移位次数.如 MOV CL,04SHL A

37、X,CL四、串指令DS:SI 源串段存放器 : 源串变址 .ES:DI 目标串段存放器 :目标串变址 .CX 重复次数计数器 .AL/AX 扫描值 .D标志0表示重复操作中SI和DI应自动增量;1表示应自动减量.Z标志 用来控制扫描或比拟操作的结束.MOVS串传送.MOVSB传送字符.MOVSW传送字.MOVSD传送双字.CMPS串比拟.CMPSB比拟字符.CMPSW比拟字.SCAS串扫描.把AL或AX的内容与目标串作比拟,比拟结果反映在标志位.LODS装入串.把源串中的元素字或字节逐一装入AL或AX中.LODSB传送字符.LODSW传送字.LODSD传送双字.STOS保存串.是LODS勺逆过

38、程.REP 当 CX/ECX<>0寸重复.REPE/REPZ当ZF=1或比拟结果相等,且CX/ECX<>0寸重复.REPNE/REPN当 ZF=0或比拟结果不相等,且CX/ECX<>0寸重复.REPC当 CF=1 且 CX/ECX<>0寸重复.REPNC当 CF=0且 CX/ECX<>0寸重复.五、程序转移指令1>无条件转移指令 长转移 JMP 无条件转移指令CALL 过程调用RET/RETF过程返回.2条件转移指令 短转移,-128 到+127的距离内 当且仅当SF XOR OF=1时,0P1 JA/JNBE不小于或不等于时转

39、移 JAE/JNB 大于或等于转移 .JB/JNAE 小于转移 .JBE/JNA 小于或等于转移 .以上四条,测试无符号整数运算的结果标志C和Z.JG/JNLE 大于转移 .JGE/JNL 大于或等于转移 .JL/JNGE 小于转移 .JLE/JNG 小于或等于转移 .以上四条,测试带符号整数运算的结果标志S,O和Z.JE/JZ 等于转移 .JNE/JNZ 不等于时转移 .JC 有进位时转移 .JNC 无进位时转移 .JNO 不溢出时转移 .JNP/JPO 奇偶性为奇数时转移 .JNS 符号位为 "0" 时转移 .JO 溢出转移 .JP/JPE 奇偶性为偶数时转移 .JS 符号位为 "1" 时转移.3循环控制指令 短转移LOOP CX不为零时循环.LOOPE/LOOPZ CX为零且标志Z=1时循环.LOOPNE/LOOPNZ不为零且标志Z=0时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论