您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 药学 > 完整版8686汇编语言指令英文全名全称
8086各寄存器英文全称AH&AL=AX(accumulator):累加寄存器BH&BL=BX(base):基址寄存器CH&CL=CX(count):计数寄存器DH&DL=DX(data):数据寄存器SP(StackPointer):堆栈指针寄存器BP(BasePointer):基址指针寄存器SI(SourceIndex):源变址寄存器DI(DestinationIndex):目的变址寄存器IP(InstructionPointer):指令指针寄存器CS(CodeSegment)代码段寄存器DS(DataSegment):数据段寄存器SS(StackSegment):堆栈段寄存器ES(ExtraSegment):附加段寄存器OFoverflowflag溢出标志操作数超出机器能表示的范围表示溢出,溢出时为1.SFsignFlag符号标志记录运算结果的符号,结果负时为1.ZFzeroflag零标志运算结果等于0时为1,否则为0.CFcarryflag进位标志最高有效位产生进位时为1,否则为0.AFauxiliarycarryflag辅助进位标志运算时,第3位向第4位产生进位时为1,否则为0.PFparityflag奇偶标志运算结果操作数位为1的个数为偶数个时为1,否则为0.DFdirecionflag方向标志用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大.IFinterruptflag中断标志IF=1时,允许CPU响应可屏蔽中断,否则关闭中断.TFtrapflag陷阱标志用于调试单步操作___________________________________汇编指令英文全称1.通用数据传送指令MOV----moveMOVdest,src;dest←srcMOV指令把一个字节或字的操作数从源地址src传送至目的地址dest。MOVSX----extendedmovewithsigndataMOVZX----extendedmovewithzerodataPUSH----pushPOP----pop进栈出栈指令PUSHA----pushallPOPA----popallPUSHAD----pushalldataPOPAD----popalldataBSWAP----byteswapXCHG----exchange交换指令用来将源操作数和目的操作数内容交换,操作数可以是字、也可以是字节,可以在通用寄存器与通用寄存器或存储器之间对换数据,但不能在存储器与存储器之间对换数据。movax,1234h;ax=1234hmovbx,5678h;bx=5678hxchgax,bx;ax=5678h,bx=1234hxchgah,al;ax=7856hCMPXCHG----compareandchangeXADD----exchangeandaddXLAT----translate换码指令用于将BX指定的缓冲区中、AL指定的位移处的数据取出赋给AL。2.输入输出端口传送指令IN----inputOUT----output3.目的地址传送指令LEA----loadeffectiveaddres有效地址传送指令movbx,0400hmovsi,3chleabx,[bx+si+0f62h];BX=139EH这里BX得到的是主存单元的有效地址,不是物理地址,也不是该单元的内容。LDS----loadDSLES----loadESLFS----loadFSLGS----loadGSLSS----loadSS4.标志传送指令LAHF----loadAHfromflagSAHF----saveAHtoflagPUSHF----pushflagPOPF----popflagPUSHD----pushdflagPOPD----popdflag二、算术运算指令ADD----add加法指令moval,0fbh;al=0fbhaddal,07h;al=02hADC----addwithcarryINC----increase1AAA----asciiaddwithadjustDAA----decimaladdwithadjustSUB----substractSBB----substractwithborrowDEC----decrease1NEC----negativeCMP----compareAAS----asciiadjustonsubstractDAS----decimaladjustonsubstractMUL----multiplicationIMUL----integermultiplicationAAM----asciiadjustonmultiplicationDIV----divideIDIV----integerdivideAAD----asciiadjustondivideCBW----changebytetowordCWD----changewordtodoublewordCWDE----changewordtodoublewordwithsigntoEAXCDQ----changedoublewordtoquadrateword三、逻辑运算指令AND----andor----orXOR----xorNOT----notTEST----testSHL----shiftleftSAL----arithmaticshiftleftSHR----shiftrightSAR----arithmaticshiftrightROL----rotateleftROR----rotaterightRCL----rotateleftwithcarryRCR----rotaterightwithcarry四、串指令MOVS----movestringCMPS----comparestringSCAS----scanstringLODS----loadstringSTOS----storestringREP----repeatREPE----repeatwhenequalREPZ----repeatwhenzeroflagREPNE----repeatwhennotequalREPNZ----repeatwhenzeroflagREPC----repeatwhencarryflagREPNC----repeatwhennotcarryflag五、程序转移指令1无条件转移指令(长转移)JMP----jumpCALL----callRET----returnRETF----returnfar2条件转移指令(短转移,-128到+127的距离内)JAE----jumpwhenaboveorequalJNB----jumpwhennotbelowJB----jumpwhenbelowJNAE----jumpwhennotaboveorequalJBE----jumpwhenbeloworequalJNA----jumpwhennotaboveJG----jumpwhengreaterJNLE----jumpwhennotlessorequalJGE----jumpwhengreaterorequalJNL----jumpwhennotlessJL----jumpwhenlessJNGE----jumpwhennotgreaterorequalJLE----jumpwhenlessorequalJNG----jumpwhennotgreaterJE----jumpwhenequalJZ----jumpwhenhaszeroflagJNE----jumpwhennotequalJNZ----jumpwhennothaszeroflagJC----jumpwhenhascarryflagJNC----jumpwhennothascarryflagJNO----jumpwhennothasoverflowflagJNP----jumpwhennothasparityflagJPO----jumpwhenparityflagisoddJNS----jumpwhennothassignflagJO----jumpwhenhasoverflowflagJP----jumpwhenhasparityflagJPE----jumpwhenparityflagisevenJS----jumpwhenhassignflag3循环控制指令(短转移)LOOP----loopLOOPE----loopequalLOOPZ----loopzeroLOOPNE----loopnotequalLOOPNZ----loopnotzeroJCXZ----jumpwhenCXiszeroJECXZ----jumpwhenECXiszero4中断指令INT----interruptINTO----overflowinterruptIRET----interruptreturn5处理器控制指令HLT----haltWAIT----waitESC----escapeLOCK----lockNOP----nooperationSTC----setcarryCLC----clearcarryCMC----carrymakechangeSTD----setdirectionCLD----cleardirectionSTI----setinterruptCLI----clearinterrupt六、伪指令DW----definwwordPROC----procedureENDP----endofprocedureSEGMENT----segmentASSUME----assumeENDS----endsegmentEND----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.输入输出端口传送指令.INI/O端口输入.(语法:IN累加器,{端口号│DX})OUTI/O端口输出.(语法:OUT{端口号│DX},累加器)输入输出端口由立即方式指定时,其范围是0-255;由寄存器DX指定时,其范围是0-65535.3.目的地址传送指令.LEA装入有效地址.例:LEADX,string;把偏移地址存到DX.LDS传送目标指针,把指针内容装入DS.例:LDSSI,string;把段地址:偏移地址存到DS:SI.LES传送目标指针,把指针内容装入ES.例:LESDI,string;把段地址:偏移地址存到ES:DI.LFS传送目标指针,把指针内容装入FS.例:LFSDI,str
本文标题:完整版8686汇编语言指令英文全名全称
链接地址:https://www.777doc.com/doc-3432313 .html