常见汇编命令英文缩写

寄存器类(register):
AX–Acount
BX–Base
CX–Count
DX–Data

  段寄存器:
               代码段寄存器: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(Over Flow)                             NV(Not Over Flow)
                    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—-> move
MOVSX—->extended move with signdata
MOVZX—->extended move with zerodata
PUSH—->push
POP—->pop
PUSHA—->push all
POPA—->pop all
PUSHAD—->push all data
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.目的地址传送指令
    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
    PUSHD---->push dflag
    POPD---->pop dflag
  算术运算指令
    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
    DAS---->decimal adjust on substract
    MUL---->multiplication
    IMUL---->integer multiplication  
    AAM---->ascii adjust onmultiplication
    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 wordwith sign to EAX
    CDQ---->change double word toquadrate word
  逻辑运算指令
    AND---->and
    OR---->or
    XOR---->xor
    NOT---->not
    TEST---->test
    SHL---->shift left
    SAL---->arithmatic shift left
    SHR---->shift right
    SAR---->arithmatic shift right
    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
    STOS---->storestring
    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---->repeat when not carry flag
  程序转移指令
       1>无条件转移指令(长转移)
        JMP---->jump  
        CALL---->call
        RET---->return
        RETF---->return far
       2>条件转移指令(短转移,-128到+127的距离内)
        JAE---->jump when above or equal
        JNB---->jump when not below
        JB---->jump when below
        JNAE---->jump when not above orequal
        JBE---->jump when below or equal
        JNA---->jump when not above
        JG---->jump when greater
        JNLE---->jump when not less orequal
        JGE---->jump when greater orequal
        JNL---->jump when not less
        JL---->jump when less
        JNGE---->jump when not greater orequal
        JLE---->jump when less or equal
        JNG---->jump when not greater
        JE---->jump when equal
        JZ---->jump when has zero flag
        JNE---->jump when not equal
        JNZ---->jump when not has zeroflag
        JC---->jump when has carry flag
        JNC---->jump when not has carryflag
        JNO---->jump when not hasoverflow flag
        JNP---->jump when not has parityflag
        JPO---->jump when parity flag isodd
        JNS---->jump when not has signflag
        JO---->jump when has overflowflag
        JP---->jump when has parity flag
        JPE---->jump when parity flag iseven
        JS---->jump when has sign flag
       3>循环控制指令(短转移)
        LOOP---->loop
        LOOPE---->loop equal
        LOOPZ---->loop zero
        LOOPNE---->loop not equal
        LOOPNZ---->loop not zero
        JCXZ---->jump when CX is zero
        JECXZ---->jumpwhen ECX is zero
       4>中断指令
        INT---->interrupt
        INTO---->overflow interrupt
        IRET---->interrupt return
       5>处理器控制指令
        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
  伪指令
    DW---->definw word
    PROC---->procedure
    ENDP---->end of procedure
    SEGMENT---->segment
    ASSUME---->assume
    ENDS---->end segment
    END---->end

猜你喜欢

转载自blog.csdn.net/qq_40568527/article/details/79871159