汇编指令英文全称

合集下载

(完整版)ARM汇编指令英文全称及功能描述V2.0

(完整版)ARM汇编指令英文全称及功能描述V2.0

1 ARM指令英文全称及功能描述V2.0作者:满光明2019年4月9日转载请支持原创,保留此页信息,否则将追究责任前言我在工作前买了一本关于ARM指令的书籍,当时出于方便记忆理解的考量,整理了ARM指令,并且加入了英文的全称。

了解了英文的全称,能够好的帮助记忆和理解。

百度网盘里分享出来的ARM 指令英文全称我看了一下都是我当年整理的版本,但他们把作者的名字去掉了。

几年过去了,ARM技术取得了巨大的进步,ARM以其低功耗、低成本、高性能的优势抢占了移动市场。

相信在不远的未来,ARM会普遍运行在个人电脑和服务器上。

在可穿戴、边缘计算等前沿领域ARM拥有无与伦比的优势。

作为一个技术控,工作以来我一直从事ARM相关的开发工作,计算机领域需要学习的东西太多,但很多基础知识都是相通的。

我也希望能把自己这么多年的技术积累拿出来分享给即将走上硬件开发、底层驱动开发的同仁们本篇仍然以介绍ARM架构以及ARM指令为主,在原来的基础上重新调整了指令顺序,首先介绍ARM 架构不同版本的区别,进而引出基本指令结构,最后详细列出所有指令详表,增强可读性,易于理解。

2一、ARM指令集版本历史计算机完成一定的操作通过指令来实现,不同的指令方式被称为计算机架构,目前计算机主要有两大架构阵营,一是CISC (Complex Instruction Set Computers)复杂指令集架构,另一种是RISC(Reduced Instruction Set Computers)精简指令集架构。

采用CISC架构的代表是Intel和AMD的X86指令集,采用RISC架构的代表是ARM指令集和PowerPC指令集。

ARM架构从诞生到今天从V1版本已经升级到了V8版本,各版本代表的分支型号如下表所示。

从图中可以看出,Cortex-A9 架构的CPU采用的是ARMv7的指令集,目前高性能的64位视频处理,比如Cortex-A72,采用的是ARMv8指令集。

51汇编指令对应英文全称

51汇编指令对应英文全称

MOV (Move)MOVC (Move Code) 代码字节传送MOVX (Move External) [ikˈstə:nəl]外部的PUSH 推POP(pop-up) 弹出AJMP (Absolute Jump)LJMP (Long Jump)SJMP (Short Jump)JMP (Jump Indirect) [ˈindiˈrekt]间接的JZ (Jump Zero)JNZ (Jump Not Zero)JC (Jump if Carry进位) 进位为1转移JNC (Jump if Not Carry) 进位为0转移JB (Jump if Bit is set) 直接寻址位为1转移JNB (Jump if Not Bit)JBC (If Bit is set and Clear Bit) 直接寻址位为1转移并清该位CJNE (Compare比较 and Jump if Not Equal相等)DJNZ (Decrement减1 and Jump if Not Zero)ACALL (Absolute Call)LCALL (Long Call)RET (Return)NOP (No Operation)ADD (addition)ADDC (Add with Carry进位)SUBB (Subtract with Borrow借)MUL (Multiply)[ˈmʌltiplai] 相乘DIV (Division) 除INC (Increment) 增量DEC (Decrement) 减量ANL (Logical AND)ORL (Logical OR)XRL (Logical Exclusive of OR) [ikˈsklu:siv]排他的(非),异或CPL (Complement) [ˈkɔmplimənt]补充,取反CLR (Clear)SEBT (Set Bit) 置位RL (Rotate Left) [rəuˈteit].(使)旋转RR (Rotate Right)RLC (Rotate Left throught the Carry flag) 经过进位的**循环左移RRC (Rotate Right throught the Carry flag)XCH (Exchange) 交换XCHD 交换低4位字节SWAP 高低4位互换DA (Decimal Adjust) [ˈdesiməl]十进制调整ORG (Origin) [ˈɔridʒin]起点DB (Define Byte)DW (Define Word)EQU (Equal)DATAXDATA (External Data)BIT。

instruction 文件术语

instruction 文件术语

instruction 文件术语在计算机科学中,instruction 文件(指令文件)是一种包含了计算机程序的指令和相关信息的文件。

它通常用于指导计算机或处理器执行特定的操作或任务。

以下是一些与instruction 文件相关的术语解释:1. 指令(Instruction):指令是计算机程序中的基本操作单元,用于告诉计算机或处理器执行特定的动作或操作。

指令可以包括算术、逻辑、分支、存储器访问等操作。

2. 指令集(Instruction Set):指令集是计算机体系结构中支持的所有指令的集合。

它定义了处理器可以执行的操作和操作码的编码方式。

3. 汇编语言(Assembly Language):汇编语言是一种低级编程语言,使用助记符(mnemonics)来表示指令和操作码。

汇编语言的源代码需要通过汇编器转换为可执行的机器码。

4. 汇编器(Assembler):汇编器是一种将汇编语言源代码转换为机器码的工具。

它读取指令文件中的汇编语言代码,并将其转化为计算机可执行的指令序列。

5. 目标文件(Object File):目标文件是编译器或汇编器生成的中间文件,其中包含了编译或汇编后的指令和数据。

目标文件通常需要链接器(Linker)将其与其他目标文件合并为可执行文件。

6. 可执行文件(Executable File):可执行文件是包含了完整指令集和数据的文件,可直接在计算机上运行。

它包含了操作系统和处理器需要执行的所有指令和数据。

7. 符号表(Symbol Table):符号表是一个数据结构,用于存储指令文件中定义的符号和它们的地址或值。

符号可以是变量、函数或标签等,符号表提供了一个关联符号和地址的映射关系。

8. 拷贝(Patch):在某些情况下,需要对指令文件进行修改或修补,以修复一些错误或改变程序行为。

这些修改被称为拷贝,可以通过修改指令文件中的特定指令或数据来实现。

指令文件是计算机程序的重要组成部分,它定义了程序的执行流程和具体操作。

汇编指令手册(英文缩写原码)

汇编指令手册(英文缩写原码)

汇编指令手册(英文缩写原码)1.通用数据传送指令.MOV----> moveMOVSX---->extended move with sign dataMOVZX---->extended move with zero dataPUSH---->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。

51汇编指令对应英文全称

51汇编指令对应英文全称

MOV (Move)MOVC (Move Code) 代码字节传送MOVX (Move External) [ikˈst ə:nəl]外部的PUSH 推POP(pop-up) 弹出AJMP (Absolute Jump)LJMP (Long Jump)SJMP (Short Jump)JMP (Jump Indirect)[ˌindiˈrekt]间接的JZ (Jump Zero)JNZ (Jump Not Zero)JC (Jump if Carry进位) 进位为1转移JNC (Jump if Not Carry) 进位为0转移JB (Jump if Bit is set) 直接寻址位为1转移JNB (Jump if Not Bit)JBC (If Bit is set and Clear Bit) 直接寻址位为1转移并清该位CJNE (Compare比较and Jump if Not Equal相等) DJNZ (Decrement减1 andJump if Not Zero)ACALL (Absolute Call)LCALL (Long Call)RET (Return)NOP (No Operation)ADD (addition)ADDC (Add with Carry进位)SUBB (Subtract with Borrow借)MUL (Multiply)[ˈmʌltiplai] 相乘DIV (Division) 除INC (Increment) 增量DEC (Decrement) 减量ANL (Logical AND)ORL (Logical OR)XRL (Logical Exclusive of OR)[ikˈsklu:siv]排他的(非),异或CPL (Complement) [ˈkɔmplimənt]补充,取反CLR (Clear)SEBT (Set Bit) 置位RL (Rotate Left) [rəuˈteit].(使)旋转RR (Rotate Right)RLC (Rotate Left throught theCarry flag) 经过进位的**循环左移RRC (Rotate Right throughtthe Carry flag)XCH (Exchange) 交换XCHD 交换低4位字节SWAP 高低4位互换DA (Decimal Adjust) [ˈdesiməl]十进制调整ORG (Origin) [ˈɔridʒin]起点DB (Define Byte)DW (Define Word)EQU (Equal)DATAXDATA (External Data)BIT。

(完整版)ARM汇编指令英文全称及功能描述V2.0

(完整版)ARM汇编指令英文全称及功能描述V2.0

1 ARM指令英文全称及功能描述V2.0作者:满光明2019年4月9日转载请支持原创,保留此页信息,否则将追究责任前言我在工作前买了一本关于ARM指令的书籍,当时出于方便记忆理解的考量,整理了ARM指令,并且加入了英文的全称。

了解了英文的全称,能够好的帮助记忆和理解。

百度网盘里分享出来的ARM 指令英文全称我看了一下都是我当年整理的版本,但他们把作者的名字去掉了。

几年过去了,ARM技术取得了巨大的进步,ARM以其低功耗、低成本、高性能的优势抢占了移动市场。

相信在不远的未来,ARM会普遍运行在个人电脑和服务器上。

在可穿戴、边缘计算等前沿领域ARM拥有无与伦比的优势。

作为一个技术控,工作以来我一直从事ARM相关的开发工作,计算机领域需要学习的东西太多,但很多基础知识都是相通的。

我也希望能把自己这么多年的技术积累拿出来分享给即将走上硬件开发、底层驱动开发的同仁们本篇仍然以介绍ARM架构以及ARM指令为主,在原来的基础上重新调整了指令顺序,首先介绍ARM 架构不同版本的区别,进而引出基本指令结构,最后详细列出所有指令详表,增强可读性,易于理解。

2一、ARM指令集版本历史计算机完成一定的操作通过指令来实现,不同的指令方式被称为计算机架构,目前计算机主要有两大架构阵营,一是CISC (Complex Instruction Set Computers)复杂指令集架构,另一种是RISC(Reduced Instruction Set Computers)精简指令集架构。

采用CISC架构的代表是Intel和AMD的X86指令集,采用RISC架构的代表是ARM指令集和PowerPC指令集。

ARM架构从诞生到今天从V1版本已经升级到了V8版本,各版本代表的分支型号如下表所示。

从图中可以看出,Cortex-A9 架构的CPU采用的是ARMv7的指令集,目前高性能的64位视频处理,比如Cortex-A72,采用的是ARMv8指令集。

汇编语言指令英文全称

汇编语言指令英文全称

汇编指令英文全称1.通用数据传送指令MOV----> moveMOV dest,src ;dest←srcMOV指令把一个字节或字的操作数从源地址src传送至目的地址dest。

MOVSX---->extended move with sign dataMOVZX---->extended move with zero dataPUSH---->pushPOP---->pop进栈出栈指令PUSHA---->push allPOPA---->pop allPUSHAD---->push all dataPOPAD---->pop all dataBSWAP---->byte swapXCHG---->exchange交换指令用来将源操作数和目的操作数内容交换,操作数可以是字、也可以是字节,可以在通用寄存器与通用寄存器或存储器之间对换数据,但不能在存储器与存储器之间对换数据。

mov ax,1234h ;ax=1234hmov bx,5678h ;bx=5678hxchg ax,bx ;ax=5678h,bx=1234hxchg ah,al ;ax=7856hXADD---->exchange and addXLAT---->translate换码指令用于将BX指定的缓冲区中、AL指定的位移处的数据取出赋给AL。

2.输入输出端口传送指令IN---->inputOUT---->output3.目的地址传送指令LEA---->load effective addres有效地址传送指令mov bx,0400hmov si,3chlea bx,[bx+si+0f62h] ;BX=139EH这里BX得到的是主存单元的有效地址,不是物理地址,也不是该单元的内容。

LDS---->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---->add加法指令mov al,0fbh ;al=0fbh add al,07h ;al=02hADC---->add with carryINC---->increase 1AAA---->ascii add with adjustDAA---->decimal add with adjust SUB---->substractSBB---->substract with borrow DEC---->decrease 1NEC---->negativeAAS---->ascii adjust on substract DAS---->decimal adjust on substract MUL---->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 EAX CDQ---->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 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 equal JBE---->jump when below or equalJNA---->jump when not aboveJG---->jump when greaterJNLE---->jump when not less or equal JGE---->jump when greater or equal JNL---->jump when not lessJL---->jump when lessJNGE---->jump when not greater or equal JLE---->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 flag JNO---->jump when not has overflow flagJNP---->jump when not has parity flag JPO---->jump when parity flag is odd JNS---->jump when not has sign flag JO---->jump when has overflow flag JP---->jump when has parity flag JPE---->jump when parity flag is even JS---->jump when has sign flag3>循环控制指令(短转移)LOOP---->loopLOOPE---->loop equalLOOPZ---->loop zeroLOOPNE---->loop not equal LOOPNZ---->loop not zeroJCXZ---->jump when CX is zero JECXZ---->jump when ECX is zero4>xx指令INT---->interruptINTO---->overflow interruptIRET---->interrupt return5>处理器控制指令HLT---->haltWAIT---->waitESC---->escapeLOCK---->lockNOP---->no operation STC---->set carryCLC---->clear carryCMC---->carry make change STD---->set directionCLD---->clear directionSTI---->set interruptCLI---->clear interrupt六、伪指令DW---->definw word PROC---->procedure ENDP---->end of procedure SEGMENT---->segment ASSUME---->assume ENDS---->end segment END---->end汇编指令中文xx数据传输指令───────────────────────────────────────它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.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位寄存器里字节的顺序XCHG交换字或字节.(至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG比较并交换操作数.(第二个操作数必须为累加器AL/AX/EAX )XADD先交换再累加.(结果在第一个操作数里)XLAT字节查表转换.──BX指向一张256字节的表的起点, AL为表的索引值(0-255,即0-FFH);返回AL为查表结果. ( [BX+AL]->AL )2.输入输出端口传送指令.IN I/O端口输入. (语法:IN累加器, {端口号│DX} )OUT I/O端口输出. (语法:OUT {端口号│DX},累加器)输入输出端口由立即方式指定时,其范围是0-255;由寄存器DX指定时, 其范围是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 ;把段地址:偏移地址存到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比较.(两操作数作减法,仅修改标志位,不回送结果). 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中的字的符号扩展到EDX中去)三、逻辑运算指令───────────────────────────────────────AND与运算.or或运算.XOR异或运算.NOT取反.TEST测试.(两操作数作与运算,仅修改标志位,不回送结果).SHL逻辑xx.SAL算术xx.(=SHL)SHR逻辑右移.SAR算术右移.(=SHR)当值为负时,高位补1;当值为正时,高位补0 ROL循环xx.ROR循环右移.RCL通过进位的循环xx.RCR通过进位的循环右移.以上八种移位指令,其移位次数可达255次.移位一次时,可直接用操作码.如SHL AX,1.移位>1次时,则由寄存器CL给出移位次数.如MOV CL,04SHL AX,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的逆过程.REP当CX/ECX<>0时重复.REPE/REPZ当ZF=1或比较结果相等,且CX/ECX<>0时重复.REPNE/REPNZ当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时,OP1 JA/JNBE不小于或不等于时转移.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 CX不为零且标志Z=0时循环.JCXZ CX为零时转移.JECXZ ECX为零时转移.4>xx指令INTxx指令INTO溢出xxIRETxx返回5>处理器控制指令HLT处理器暂停,直到出现中断或复位信号才继续. WAIT当芯片引线TEST为高电平时使CPU进入等待状态. ESC转换到外处理器.LOCKxx总线.NOP空操作.STC置进位标志位.CLC清进位标志位.CMC进位标志取反.STD置方向标志位.CLD清方向标志位.STI置xx允许位.CLI清xx允许位.六、伪指令─────────────────────────────────────DW定义字(2字节). PROC定义过程.ENDP过程结束.SEGMENT定义xx.ASSUME建立段寄存器寻址.ENDSxx结束.END程序结束.。

(完整word版)汇编指令英文全称,推荐文档.docx

(完整word版)汇编指令英文全称,推荐文档.docx

汇编指令英文全称一、传送指令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 flag POPF pop flagPUSHD push dword flagPOPD pop dword flag二、运算指令1、算术运算指令指令英文全称ADD addADC add with carryINC increase 1AAA ascii add with adjustDAA decimal add with adjust SUB substractSBB substract with borrowDEC decrease 1NEC negativeCMP compareAAS ascii adjust on substract DAS decimal adjust on substract MUL multiplicationIMUL integer multiplicationAAMascii adjust onmultiplicationDIV divideIDIV integer divideAAD ascii adjust on divideCBW change byte to wordCWD change word to double word CWDEchange word to double wordwith sign to EAXCDQchange double word toquadrate word2、逻辑运算指令指令英文全称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 flag REPNE repeat when not equal REPNZ repeat when zero flagREPC repeat when carry flag REPNC repeat when not carry flag五、程序转移指令1、无条件转移指令(长转移 )指令英文全称JMP jumpCALL callRET returnRETF return far2、条件转移指令(短转移 ,128 到 +127 的距离内 )指令英文全称JAE jump when above or equal JNB jump when not below JB jump when belowJNAE jump when not above or equal JBE jump when below or equalJNA jump when not aboveJG jump when greaterJNLE jump when not less or equal JGE jump when greater or equalJNL jump when not lessJL jump when lessJNGEjump when not greater orequalJLE 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 flag JNOjump when not has overflowflagJNP jump when not has parity flag JPO jump when parity flag is odd JNS jump when not has sign flagJO jump when has overflow flagJP jump when has parity flagJPE jump when parity flag is even JS jump when has sign flag3、循环控制指令(短转移 )指令英文全称LOOP loopLOOPE loop equalLOOPZ loop zeroLOOPNE loop not equalLOOPNZ loop not zeroJCXZ jump when CX is zero汇编指令英文全称第3页共3页JECXZ4、中断指令指令INTINTOIRET jump when ECX is zero英文全称interruptoverflow interrupt interrupt return5、处理器控制指令指令英文全称HLT WAIT ESC LOCK NOPSTCCLCCMCSTDCLDSTICLI六、伪指令指令DW PROC ENDP SEGMENT ASSUME ENDS END haltwaitescapelockno operationset carryclear carrycarry make change set directionclear directionset interruptclear interrupt英文全称define word procedureend of procedure segmentassumeend segmentend。

汇编语言指令及标志位状态英文缩写

汇编语言指令及标志位状态英文缩写
SBB---->subtract with borrow
DEC---->decrease 1
NEC---->negative
CMP---->compare
AAS---->ASCII adjust on subtract
DAS---->decimal adjust on subtract
MUL---->multiplication
JBE---->jump when below or equal
JNA---->jump when not above
JG---->jump when greater
JNLE---->jump when not less or equal
JGE---->jump when greater or equal
2>条件转移指令(短转移,-128到+127的距离内)
JAE---->jump when above or equal
JNB---->jump when not below
JB---->jump when below
JNAE---->jump when notபைடு நூலகம்above or equal
XADD---->exchange and add
XLAT---->translate
2.输入输出端口传送指令.
IN---->input
OUT---->output
3.目的地址传送指令.
LEA---->load effective address

汇编语言英文指令

汇编语言英文指令

汇编语言英文指令汇编语言英文指令AH&AL=AX(accumulator):累加寄存器BH&BL=BX(base):基址寄存器CH&CL=CX(count):计数寄存器DH&DL=DX(data):数据寄存器SP(Stack Pointer):堆栈指针寄存器BP(Base Pointer):基址指针寄存器SI(Source Index):源变址寄存器DI(Destination Index):目的变址寄存器IP(Instruction Pointer):指令指针寄存器CS(Code Segm ent)代码段寄存器DS(Data Segm ent):数据段寄存器SS(Stack Segm ent):堆栈段寄存器ES(Extra Segment):附加段寄存器OF overflow flag 溢出标志操作数超出机器能表示的范围表示溢出,溢出时为1.SF sign Flag 符号标志记录运算结果的符号,结果负时为1.ZF zero flag 零标志运算结果等于0时为1,否则为0.CF carry flag 进位标志最高有效位产生进位时为1,否则为0.AF auxiliary carry flag 辅助进位标志运算时,第3位向第4位产生进位时为1,否则为0.PF parity flag 奇偶标志运算结果操作数位为1的个数为偶数个时为1,否则为0.DF direction flag 方向标志用于串处理.DF=1时,每次操作后使SI 和DI减小.DF=0时则增大.IF interrupt enable flag 中断允许标志IF=1时,允许CPU响应可屏蔽中断,否则关闭中断.TF trap flag 陷阱标志用于调试单步操作通用寄存器:AX累加器(Accumulator),BX 基地址寄存器(Base Register),CX 计数寄存器(Count Register) ,DX数据寄存器(Data Register)段寄存器:代码段寄存器CS--code segm ent , 数据段寄存器DS--data segm ent , 堆栈段寄存器SS--stack segm ent ,附加段寄存器ES--extra segm ent 。

汇编语言中指令的英文解释

汇编语言中指令的英文解释

1.通用数据传送指令.MOV----> move MOVSX---->extended move with sign dataMOVZX---->extended move with zero data PUSH---->push POP---->pop PUSHA---->push all POPA---->pop all PUSHAD---->push all dataPOPAD---->pop all data BSWAP---->byte swap XCHG---->exchangeCMPXCHG---->compare and change XADD---->exchange and addXLAT---->translate2.输入输出端口传送指令.IN---->input OUT---->output3.目的地址传送指令.LEA---->load effective address LDS---->load DS LES---->load ESLFS---->load FS LGS---->load GS LSS---->load SS4.标志传送指令.LAHF---->load AH from flag SAHF---->save AH to flag PUSHF---->push flag POPF---->pop flag PUSHD---->push dflag POPD---->pop dflag二、算术运算指令ADD---->add ADC---->add with carry INC---->increase 1AAA---->ascii add with adjust DAA---->decimal add with adjust SUB---->substract SBB---->substract with borrow DEC---->decrease 1 NEC---->negativeCMP---->compare AAS---->ascii adjust on substractDAS---->decimal adjust on substract MUL---->multiplicationIMUL---->integer multiplication AAM---->ascii adjust on multiplicationDIV---->divide IDIV---->integer divide AAD---->ascii adjust on divideCBW---->change byte to word CWD---->change word to double wordCWDE---->change word to double word with sign to EAXCDQ---->change double word to quadrate word三、逻辑运算指令AND---->and OR---->or XOR---->xor NOT---->not TEST---->testSHL---->shift left SAL---->arithmatic shift left SHR---->shift rightSAR---->arithmatic shift right ROL---->rotate left ROR---->rotate rightRCL---->rotate left with carry RCR---->rotate right with carry四、串指令MOVS---->move string CMPS---->compare string SCAS---->scan stringLODS---->load string STOS---->store string REP---->repeatREPE---->repeat when equal REPZ---->repeat when zero flagREPNE---->repeat when not equal REPNZ---->repeat when zero flagREPC---->repeat when carry flag REPNC---->repeat when not carry flag五、程序转移指令1>无条件转移指令(长转移)JMP---->jump CALL---->call RET---->return RETF---->return far2>条件转移指令(短转移,-128到+127的距离内)JAE---->jump when above or equal JNB---->jump when not belowJB---->jump when below JNAE---->jump when not above or equalJBE---->jump when below or equal JNA---->jump when not aboveJG---->jump when greater JNLE---->jump when not less or equalJGE---->jump when greater or equal JNL---->jump when not lessJL---->jump when less JNGE---->jump when not greater or equalJLE---->jump when less or equal JNG---->jump when not greaterJE---->jump when equal JZ---->jump when has zero flagJNE---->jump when not equal JNZ---->jump when not has zero flagJC---->jump when has carry flag JNC---->jump when not has carry flagJNO---->jump when not has overflow flag JNP---->jump when not has parity flag JPO---->jump when parity flag is odd JNS---->jump when not has sign flagJO---->jump when has overflow flag JP---->jump when has parity flagJPE---->jump when parity flag is even JS---->jump when has sign flag3>循环控制指令(短转移)LOOP---->loop LOOPE---->loop equal LOOPZ---->loop zeroLOOPNE---->loop not equal LOOPNZ---->loop not zeroJCXZ---->jump when CX is zero JECXZ---->jump when ECX is zero4>中断指令INT---->interrupt INTO---->overflow interrupt IRET---->interrupt return5>处理器控制指令HLT---->halt WAIT---->wait ESC---->escape LOCK---->lock NOP---->no operation STC---->set carry CLC---->clear carry CMC---->carry make changeSTD---->set direction CLD---->clear direction STI---->set interruptCLI---->clear interrupt六、伪指令DW---->definw word PROC---->procedure ENDP---->end of procedureSEGMENT---->segment ASSUME---->assume ENDS---->end segmentEND---->end。

汇编指令的英文全称

汇编指令的英文全称

汇编指令的英文全称汇编指令的英文全称如果你想写系统软件,两本入门书籍--谭浩强的《C语言程序设计》和王爽的《汇编语言》是必看的。

谭老的C语言已相当成熟,王老师的汇编倒有个小缺陷—指令没有英文全称,或许他认为现在学编程的朋友都不记单词,如同新生代作家看不懂英文原著一般。

不过我觉得记住指令的英文全称,就不容易搞混,印象会更深刻,所以我把王爽书中出现的英文缩写的全称罗列出来,以便入门的朋友更好地记住它们。

8086CPU提供以下几大类指令。

一、数据传送指令比如,mov(move)、push、pop、pushf(push flags)、popf(pop flags)、xchg(exchange)等都是数据传送指令,这些指令实现寄存器和内存、寄存器和寄存器之间的单个数据传送。

二、算术运算指令比如,add、sub(substract)、adc(add with carry)、sbb(substract with borrow)、inc(increase)、dec(decrease)、cmp(compare)、imul(integer multiplication)、idiv(integer divide)、aaa(ASCII add with adjust)等都是算术运算指令,这些指令实现寄存器和内存中的数据运算。

它们的执行结果影响标志寄存器的sf、zf、of、cf、pf、af位。

三、逻辑指令比如,and、or、not、xor(exclusive or)、test、shl(shift logic left)、shr(shift logic right)、sal(shift arithmetic left)、sar(shift arithmetic right)、rol(rotate left)、ror(rotate right)、rcl(rotate left through carry)、rcr(rotate right through carry)等都是逻辑指令。

51单片机的汇编指令英文全名拼音注音

51单片机的汇编指令英文全名拼音注音

Ei 51单片机的指令英文全名/拼音注音MOV(英文为Move/ mu ve):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code/ muve ,cou de)读取程序存储器数据表格的数据传送;MOVX (Move External RAM /muve, ei ke si te nou) 对外部RAM的数据传送;XCH (Exchange /ei ke si chen zhi) 字节交换;XCHD (Exchange low-order Digit / lou-aoder,di jei te) 低半字节交换;PUSH (Push onto Stack/ pu shi, ang to, si dai ke) 入栈;POP (Pop from Stack/ pao pu, fu rong ang mu, si dai ke) 出栈;(2)算术运算类指令(8种助记符)ADD(Addition e/ dei shen) 加法;ADDC(Add with Carry /ai de wei zi kai rei)带进位加法;SUBB(Subtract with Borrow/ sa bu chuai ke te, wei zi bao rou) 带借位减法;DA(Decimal Adjust/ dai si mou, e de zha si te) 十进制调整;INC(Increment /ying ke rei men te) 加1;DEC(Decrement /di ke rei men te) 减1;MUL(Multiplication、Multiply/ mao ti pu lei kei shen, mao ti pu lai) 乘法;DIV(Division、Divide/ di wei ri-en , di wai de) 除法;(3)逻辑运算类指令(10种助记符)ANL(AND Logic /an de,lao j ke) 逻辑与;ORL(OR Logic / ao , lao j ke ) 逻辑或;XRL(Exclusive-OR Logic /ei ke si ke lu cei ve-ao, lao j ke) 逻辑异或;CLR(Clear/ ke li er) 清零;CPL(Complement/ kang pu lei men te) 取反;RL(Rotate left /rou tei te,lai fu te) 循环左移;RLC(Rotate Left throught the Carry flag /si rou te, ,kai rei,fu lai ge ) 带进位循环左移;RR(Rotate Right/ rou tei te, rai te) 循环右移;RRC (Rotate Right throught the Carry flag) 带进位循环右移;SWAP (Swap/ si wai pu te)低4位与高4位交换;(4)控制转移类指令(17种助记符)ACALL(Absolute subroutine Call /ai bu se lu te, sa bu lu ting,kao)子程序绝对调用;LCALL(Long subroutine Call /lang,sa bu lu ting,kao)子程序长调用;RET(Return from subroutine /rei ten,fu rong ang mu , sa bu lu ting)子程序返回;RETI(Return from Interruption/ rei ten,fu rong ang mu ,ying te rua pu shen)中断返回;SJMP(Short Jump/ shao te, jiang pu)短转移;AJMP(Absolute Jump/ ai bu se lu te, jiang pu)绝对转移;LJMP(Long Jump /lang,jiang pu)长转移;CJNE (Compare Jump if Not Equal /kang pai er ,jiang pu ,ei fu , nao te, yi kou)比较不相等则转移;DJNZ (Decrement Jump if Not Zero/ di ke rei men te jiang pu ei fu nao te。

汇编语言中的英文缩写

汇编语言中的英文缩写

汇编指令英文全称:1.通用数据传送指令MOV---->moveMOV dest,src;dest←srcMOV指令把一个字节或字的操作数从源地址src传送至目的地址dest。

MOVSX---->extended move with sign dataMOVZX---->extended move with zero dataPUSH---->pushPOP---->pop进栈出栈指令PUSHA---->push allPOPA---->pop allPUSHAD---->push all dataPOPAD---->pop all dataBSWAP---->byte swapXCHG---->exchange交换指令用来将源操作数和目的操作数内容交换,操作数可以是字、也可以是字节,可以在通用寄存器与通用寄存器或存储器之间对换数据,但不能在存储器与存储器之间对换数据。

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有效地址传送指令mov bx,0400hmov si,3chlea bx,[bx+si+0f62h];BX=139EH这里BX得到的是主存单元的有效地址,不是物理地址,也不是该单元的内容。

LDS---->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---->add加法指令mov al,0fbh;al=0fbhadd al,07h;al=02hADC---->add with carryINC---->increase1AAA---->ascii add with adjustDAA---->decimal add with adjustSUB---->substractSBB---->substract with borrowDEC---->decrease1NEC---->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 EAX CDQ---->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 equal JLE---->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 flag JNO---->jump when not has overflow flag JNP---->jump when not has parity flag JPO---->jump when parity flag is odd JNS---->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 zero JECXZ---->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.通用数据传送指令.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位寄存器里字节的顺序XCHG交换字或字节.(至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG比较并交换操作数.(第二个操作数必须为累加器AL/AX/EAX) XADD先交换再累加.(结果在第一个操作数里)XLAT字节查表转换.──BX指向一张256字节的表的起点,AL为表的索引值(0-255,即0-FFH);返回AL为查表结果.([BX+AL]->AL)2.输入输出端口传送指令.IN I/O端口输入.(语法:IN累加器,{端口号│DX})OUT I/O端口输出.(语法:OUT{端口号│DX},累加器)输入输出端口由立即方式指定时,其范围是0-255;由寄存器DX指定时,其范围是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;把段地址:偏移地址存到GS:DI.LSS传送目标指针,把指针内容装入SS.例:LSS DI,string;把段地址:偏移地址存到SS:DI.4.标志传送指令.LAHF标志寄存器传送,把标志装入AH.SAHF标志寄存器传送,把AH内容装入标志寄存器.PUSHF标志入栈.POPF标志出栈.PUSHD32位标志入栈.POPD32位标志出栈.二、算术运算指令───────────────────────────────────────ADD加法.ADC带进位加法.INC加1.AAA加法的ASCII码调整.DAA加法的十进制调整.SUB减法.SBB带借位减法.DEC减1.NEC求反(以0减之).CMP比较.(两操作数作减法,仅修改标志位,不回送结果).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中的字的符号扩展到EDX中去)三、逻辑运算指令───────────────────────────────────────AND与运算.or或运算.XOR异或运算.NOT取反.TEST测试.(两操作数作与运算,仅修改标志位,不回送结果).SHL逻辑左移.SAL算术左移.(=SHL)SHR逻辑右移.SAR算术右移.(=SHR)当值为负时,高位补1;当值为正时,高位补0 ROL循环左移.ROR循环右移.RCL通过进位的循环左移.RCR通过进位的循环右移.以上八种移位指令,其移位次数可达255次.移位一次时,可直接用操作码.如SHL AX,1.移位>1次时,则由寄存器CL给出移位次数.如MOV CL,04SHL AX,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的逆过程.REP当CX/ECX<>0时重复.REPE/REPZ当ZF=1或比较结果相等,且CX/ECX<>0时重复. REPNE/REPNZ当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时,OP1JA/JNBE不小于或不等于时转移. 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 CX不为零且标志Z=0时循环.JCXZ CX为零时转移.JECXZ ECX为零时转移.4>中断指令INT中断指令INTO溢出中断IRET中断返回5>处理器控制指令HLT处理器暂停,直到出现中断或复位信号才继续.WAIT当芯片引线TEST为高电平时使CPU进入等待状态.ESC转换到外处理器.LOCK封锁总线.NOP空操作.STC置进位标志位.CLC清进位标志位.CMC进位标志取反.STD置方向标志位.CLD清方向标志位.STI置中断允许位.CLI清中断允许位.六、伪指令─────────────────────────────────────DW定义字(2字节).PROC定义过程.ENDP过程结束.SEGMENT定义段.ASSUME建立段寄存器寻址.ENDS段结束.END程序结束.汇编语言中常用寄存器的英文缩写:AH&AL=AX(accumulator):累加寄存器BH&BL=BX(base):基址寄存器CH&CL=CX(count):计数寄存器DH&DL=DX(data):数据寄存器SP(Stack Pointer):堆栈指针寄存器BP(Base Pointer):基址指针寄存器SI(Source Index):源变址寄存器DI(Destination Index):目的变址寄存器IP(Instruction Pointer):指令指针寄存器CS(Code Segment)代码段寄存器DS(Data Segment):数据段寄存器SS(Stack Segment):堆栈段寄存器ES(Extra Segment):附加段寄存器OF overflow flag溢出标志操作数超出机器能表示的范围表示溢出,溢出时为1. SF sign Flag符号标志记录运算结果的符号,结果负时为1.ZF zero flag零标志运算结果等于0时为1,否则为0.CF carry flag进位标志最高有效位产生进位时为1,否则为0.AF auxiliary carry flag辅助进位标志运算时,第3位向第4位产生进位时为1,否则为0.PF parity flag奇偶标志运算结果操作数位为1的个数为偶数个时为1,否则为0.DF direcion flag方向标志用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大. IF interrupt flag中断标志IF=1时,允许CPU响应可屏蔽中断,否则关闭中断.TF trap flag陷阱标志用于调试单步操作.。

(完整word版)汇编指令英文全称,推荐文档

(完整word版)汇编指令英文全称,推荐文档
LOOPNZ
loop not zero
JCXZ
jump when CX is zero
JECXZ
jump when ECX is zero
4、中断指令
指令
英文全称
INT
interrupt
INTO
overflow interrupt
IRET
interrupt return
ROL
rotate left
ROR
rotate right
RCL
rotate left with carry
RCR
rotate right with carry
四、字符串操作指令
指令
英文全称
MOVS
move string
CMPS
compare string
SCAS
scan string
LODS
load string
PUSHD
push dwordflag
POPD
pop dwordflag
2、运算指令
1、算术运算指令
指令
英文全称
ADD
add
ADC
add with carry
INC
increase 1
AAA
ascii add with adjust
DAA
decimal add with adjust
SUB
substract
SBB
substract with borrow
DEC
decrease 1
NEC
negative
CMP
compare
AAS
ascii adjust on substract

常见汇编命令英文缩写

常见汇编命令英文缩写

常见汇编命令英文缩写通用寄存器:AX,BX,CX,DX。

段寄存器:代码段寄存器CS--code segment , 数据段寄存器DS--data segment , 堆栈段寄存器SS--stack segment ,附加段寄存器ES--extra segment 。

特殊功能寄存器:指令指针寄存器IP--instruction pointer ,堆栈指针SP--stack pointer ,基址指针BP--base pointer ,源变址寄存器SI--source index ,目标变址寄存器DI--destination index ,标志寄存器FR--flag register(或者叫程序状态字PSW--program status word)。

PSW常用的标志有:标志值为1时的标记值为0时的标记OF(overflow flag) OV(overflow) NV(not overflow)ZF(zero flag) ZR(zero) NZ(not zero)PF(parity flag) PE(parity even) PO(parity odd)CF(carry flag) CY(carried) NC(not carried)DF(direction flag) DN(down) UP(up)SF(sign flag) NG(negtive) PL(plus)TF(trap flag)IF(interrupt flag)AF(auxiliary flag)1.通用数据传送指令.MOV----> moveMOVSX---->extended move with sign dataMOVZX---->extended move with zero dataPUSH---->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 substract MUL---->multiplicationIMUL---->integer multiplicationAAM---->ascii adjust on multiplication DIV---->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 equal JLE---->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 flag JNP---->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。

汇编指令的英文全称

汇编指令的英文全称

汇编指令的英文全称汇编指令的英文全称虽然,知不知道汇编语言指令的英文全称,并不影响血编程,不过,要是真学会了,连指令的英文都不知道也够别扭滴哈~,罗列出来,给大家参考参考。

8086CPU提供以下几大类指令。

一、数据传送指令mov(move)、push、pop、pushf(push flags)、popf (pop flags)、xchg (exchange)等都是数据传送指令,这些指令实现寄存器和内存、寄存器和寄存器之间的单个数据传送。

二、算术运算指令add、sub(substract)、adc(add with carry)、sbb (substract with borrow)、inc(increase)、dec(decrease)、cmp(compare)、imul(integer multiplication)、idiv(integer divide)、aaa(ASCII add with adjust)等都是算术运算指令,这些指令实现寄存器和内存中的数据运算。

它们的执行结果影响标志寄存器的sf、zf、of、cf、pf、af位。

三、逻辑指令and、or、not、xor(exclusive or)、test、shl(shift logic left)、shr(shift logic right)、sal(shift arithmetic left)、sar (shift arithmetic right)、rol(rotate left)、ror(rotate right)、rcl(rotate left through carry)、rcr(rotate right through carry)等都是逻辑指令。

除了not指令外,它们的执行结果都影响标志寄存器的相关标志位。

四、转移指令可以修改IP,或同时修改CS和IP的指令统称为转移指令。

转移指令分为一下几类。

(1)无条件转移指令:jmp(jump);(2)条件转移指令:jcxz(jump if CX is zero)、je(jump ifequal)、jb(jump if below)、ja(jump if above)、jnb(jump if not below)、jna(jump if not above)等;(3)循环指令:loop;(4)过程:call、ret(return)、retf(return far);(5)中断:int(interrupt)、iret(interrupt return)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LOOPNZ
loop not zero
JCXZ
jump when CX is zero
JECXZ
jump when ECX is zero
4、中断指令
指令
英文全称
INT
interrupt
INTO
overflow interrupt
IRET
interrupt return
5、处理器控制指令
指令
英文全称
JNB
jump when not below
JB
jump when below
JNAE
jump when not above or equal
JBE
jump when below or equal
JNA
jump when not above
JG
jump when greater
JNLE
jump when not less or equal
STOS
store string
REP
repeat
REPE
repeat when equal
REPZ
repeat when zero flag
REPNE
repeat when not equal
REPNZ
repeat when zero flag
REPC
repeat when carry flag
REPNC
JGE
jump when greater or equal
JNL
jump when not less
JL
jump when less
JNGE
jump when not ess or equal
JNG
jump when not greater
SBB
substract with borrow
DEC
decrease 1
NEC
negative
CMP
compare
AAS
ascii adjust on substract
DAS
decimal adjust on substract
MUL
multiplication
IMUL
integer multiplication
JNO
jump when not has overflow flag
JNP
jump when not has parity flag
JPO
jump when parity flag is odd
JNS
jump when not has sign flag
JO
jump when has overflow flag
POPAD
pop all data
BSWAP
byte swap
XCHG
exchange
CMPXCHG
compare and change
XADD
exchange and add
XLAT
translate
2、输入输出端口传送指令
指令
英文全称
IN
input
OUT
output
3、目的地址传送指令
指令
英文全称
汇编指令英文全称
一、传送指令
1、通用数据传送指令
指令
英文全称
MOV
move
MOVSX
extended move with sign data
MOVZX
extended move with zero data
PUSH
push
POP
pop
PUSHA
push all
POPA
pop all
PUSHAD
push all data
repeat when not carry flag
五、程序转移指令
1、无条件转移指令(长转移)
指令
英文全称
JMP
jump
CALL
call
RET
return
RETF
return far
2、条件转移指令(短转移,128到+127的距离内)
指令
英文全称
JAE
jump when above or equal
PUSHD
push dwordflag
POPD
pop dwordflag
二、运算指令
1、算术运算指令
指令
英文全称
ADD
add
ADC
add with carry
INC
increase 1
AAA
ascii add with adjust
DAA
decimal add with adjust
SUB
substract
AAM
ascii adjust on multiplication
DIV
divide
IDIV
integer divide
AAD
ascii adjust on divide
CBW
change byte to word
CWD
change word to double word
CWDE
change word to double word with sign to EAX
LEA
load effective address
LDS
load DS
LES
load ES
LFS
load FS
LGS
load GS
LSS
load SS
4、标志传送指令
指令
英文全称
LAHF
load AH from flag
SAHF
save AH to flag
PUSHF
push flag
POPF
pop flag
六、伪指令
指令
英文全称
DW
defineword
PROC
procedure
ENDP
end of procedure
SEGMENT
segment
ASSUME
assume
ENDS
end segment
END
end
CDQ
change double word to quadrate word
2、逻辑运算指令
指令
英文全称
AND
and
OR
or
XOR
xor
NOT
not
TEST
test
SHL
shift left
SAL
arithmatic shift left
SHR
shift right
SAR
arithmatic shift right
JP
jump when has parity flag
JPE
jump when parity flag is even
JS
jump when has sign flag
3、循环控制指令(短转移)
指令
英文全称
LOOP
loop
LOOPE
loop equal
LOOPZ
loop zero
LOOPNE
loop not equal
HLT
halt
WAIT
wait
ESC
escape
LOCK
lock
NOP
no operation
STC
set carry
CLC
clear carry
CMC
carry make change
STD
set direction
CLD
clear direction
STI
set interrupt
CLI
clear interrupt
ROL
rotate left
ROR
rotate right
RCL
rotate left with carry
RCR
rotate right with carry
四、字符串操作指令
指令
英文全称
MOVS
move string
CMPS
compare string
SCAS
scan string
LODS
load string
JE
jump when equal
JZ
jump when has zero flag
JNE
jump when not equal
JNZ
jump when not has zero flag
JC
jump when has carry flag
JNC
jump when not has carry flag
相关文档
最新文档