汇编指令 中英文助记表

寄存器类

  1. 通用寄存器
    累加器(E)AX = accumulator
    基址寄存器(E)BX = base
    计数器(E)CX = counter
    变址寄存器(E)DX = data

  2. 段寄存器
    代码段寄存器CS = code segment
    数据段寄存器DS = data segment
    堆栈段寄存器SS = stack segment
    附加段寄存器ES = extra segment

  3. 特殊功能寄存器
    指令指针寄存器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 = 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 进位循环右移

控制转移指令
  1. 无条件转移指令(长转移)
    JMP = jump 跳转
    CALL = call 过程调用
    RET = return 过程返回
    RETF = return far 远过程返回

  2. 条件转移指令(短转移,-128到+127的距离内)
    JA = jump when above 高于跳转
    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 相等跳转
    JNE = jump when not equal 不等于跳转
    JZ = jump when has zero flag
    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 中断清零

串操作指令

MOVS = move string 传送字符串
MOVSB = move string byte 传送字节串
MOVSD = move string double 传送双字串
CMPS = compare string 比较字符串
CMPSB = compare string byte 比较字节串
CMPSD = compare string double 比较双字串
SCAS = scan string 扫描字符串
SCASB = scan string byte 扫描字节串
SCASD = scan string double 扫描双字串
LODS = load string 加载源变址字符串
LODSB = load string byte 加载源变址字节串
LODSD = load string double 加载源变址双字串
STOS = store string 保存字符串
STOSB = store string byte 保存字节串
STOSD = store string double 保存双字串
REP = repeat 重复
REPE = repeat when equal 相等重复
REPNE = repeat when not equal 不等重复
REPZ = repeat when zero flag
REPNZ = repeat when zero flag
REPC = repeat when carry flag
REPNC = repeat when not carry flag

伪指令

DW = definw word
PROC = procedure
ENDP = end of procedure
SEGMENT = segment
ASSUME = assume
ENDS = end segment
END = end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值