zoukankan      html  css  js  c++  java
  • 常见汇编命令英文缩写之含义

    学习汇编中碰到的很多命令书上都没介绍怎么来的,是哪个英文单词的缩写,这样记起来很是麻烦,现总结一下,以方便记忆。

    寄存器类(register):

    通用寄存器: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 eve n)              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 sign data

    MOVZX---->extended move with zero data

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

    CDQ---->change double word to quadrate 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---->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---->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 or equal

    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

    JNL---->jump when not less

    JL---->jump when less

    JNGE---->jump when not greater or equal

    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 zero flag

    JC---->jump when has carry flag

    JNC---->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 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 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---->jump when 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

  • 相关阅读:
    php lesson1
    微信红包算法java版本
    spring注解
    Java时间戳
    集成环信 服务器端遇见的坑:关于Request body is invalid.解决
    环信java后台发送消息时提示msg 应该为JSONObject 的坑
    jboss设置允许外网访问
    redis实现单点登录
    qq在线客服
    图片纯css控制宽高比
  • 原文地址:https://www.cnblogs.com/tupx/p/2880566.html
Copyright © 2011-2022 走看看