汇编常用指令

mov

  1.mov r/m8,r8                                      r   通用寄存器

  2.mov r/m16,r16                                  m 内存

  3.mov r/m32,r32                                  imm  立即数

  4.mov r/m8,r8           8/16/32 代表位数

  5.mov r/m16,r16

  6.mov r/m32,r32

  7.mov r8,imm8

  8.mov r16,imm16

  9.mov r32,imm32

add

  1.add r/m8,imm8

  2.add r/m16,imm16

  3.add r/m32,imm32

  4.add r/m16,imm8

  5.add r/m32,imm8

  6.add r/m8,r8

  7.add r/m16,r16

  8.add r/m32,r32

  9.add r8,r/m8

  10.add r16,r/m16

  11.add r32,r/m32

sub

  1.sub r/m8,imm8

  2.sub r/m16,imm16

  3.sub r/m32,imm32

  4.sub r/m16,imm8

  5.sub r/m32,imm8

  6.sub r/m8,r8

  7.sub r/m16,r16

  8.sub r/m32,r32

  9.sub r8,r/m8

  10.sub r16,r/m16

  11.sub r32,r/m32

and

  1.and r/m8,imm8

  2.and r/m16,imm16

  3.and r/m32,imm32

  4.and r/m16,imm8

  5.and r/m32,imm8

  6.and r/m8,r8

  7.and r/m16,r16

  8.and r/m32,r32

  9.and r8,r/m8

  10.and r16,r/m16

  11.and r32,r/m32

or/xor

  1.or/xor r/m8,imm8

  2.or/xor r/m16,imm16

  3.or/xor r/m32,imm32

  4.or/xor r/m16,imm8

  5.or/xor r/m32,imm8

  6.or/xor r/m8,r8

  7.or/xor r/m16,r16

  8.or/xor r/m32,r32

  9.or/xor r8,r/m8

  10.or/xor r16,r/m16

  11.or/xor r32,r/m32

not

  1.not r,m8

  2.not r,m16

  3.not r,m32

movs  移动数据    内存-内存

  1.movs byte/word/dword ptr es:[edi],byte/word/dword ptr ds[esi]     分别简写为movsb/movsw/movsd  

    如果用movsb的话,edi和esi的值每次增加/减少1,如果用movsw的话,edi和esi的值每次增加/减少2,如果用movsd的话,edi和esi的值每次增加/减少4

    至于增加或减少去觉得efl的df(方向位)为0(增加)或1(减少)

stos 将AL/AX/EAX的值存储到[EDI]指定的内存单元中

  1.stos byte/word/dword ptr es:[edi]  简写为stosb/stosw/stosd

    edi的变化规则与movs相同

rep 重复操作,重复次数取决于ecx的值

  mov ecx,10

  rep movsd

 

posted on 2020-02-18 20:17  没有感情的rainbow  阅读(209)  评论(0)    收藏  举报