nasm

2019/03/15 陳惴棋

目錄

  • FLAG
  • jmp
  • 位元運算
  • 乘除

FLAGS

FLAGS

  • ZF:Zero Flag
  • CF:Carry Flag
  • SF:Sign Flag
  • OF:Overflow Flag
  • PF:Parity Flag

FLAGS

cmp a,b(有號數)

  • a=b : ZF=1
  • a>b : ZF=0 SF =OF
  • a<b : ZF=0 SF!=OF

FLAGS

cmp a,b(無號數)

  • a=b : ZF=1 CF=0
  • a>b : ZF=0 CF=0
  • a<b : ZF=0 CF=1

jmp

jmp

  • jmp label
  • jz
  • jnz
  • jo
  • jno
  • js
  • jns
  • jc
  • jnc
  • jp
  • jnp

jmp

cmp a,b(有號數)

  • je : a==b
  • jne : a!=b
  • jl (jnge) :a<b
  • jle (jng) :a<=b
  • jg (jnle) :a>b
  • jge (jnl) :a>=b

jmp

cmp a,b(無號數)

  • jp : a==b
  • jne : a!=b
  • jb (jnae) :a<b
  • jbe (jna) :a<=b
  • ja (jnbe) :a>b
  • jae (jnb) :a>=b

位元運算

位元運算

  • and
  • or
  • xor
  • not
  • neg
  • test

位元運算

  • 有號數:shl、shr
  • 無號數:sal、sar
  • 轉動:rol、ror
  • 轉動(含CF):rcl、rcr

乘除

mul:無號乘法

  • byte:AX=input*AL
  • word:DX_AX=input*AX
  • dword:EDX_EAX=input*EAX

imul:有號乘法

  • byte:AX=input(可用常數)*AL
  • word:DX_AX=input*AX
  • dword:EDX_EAX=input*EAX

div:無號除法

  • byte:AL_AH=AX/input
  • word:AX_DX=DX_AX/input
  • dword:EAX_EDX=EDX_EAX/input

idiv:有號除法

  • byte:AL_AH=AX/input
  • word:AX_DX=DX_AX/input
  • dword:EAX_EDX=EDX_EAX/input

END