Intel x86 の命令
Intel x86 の命令
addressing mode
(address) *address address参照
pointer *pointer pointer参照
(%esp) *(%esp) indexed
2(%esp) *(%esp+w) indexed + offset
%esp %esp register参照
load store
movl load/store from memory
movl %eax,%edx move long (%eax to %edx)
movb %eal,(%edx) move byte
movw %ax,(%edx) move word
lea load effective address
lea 5(%eax),%eax %eax = 5 + %eax
push/pop
pushl %eax
popl %edx
compuation
addl add
addl %edx,%ebx
and and
andl %eax,-4(%ebp)
sal arithmetic shift left
sall $4,%eax
sar arithmetic shift right
sarl $4,%eax
cmp compare
cmpl $0,-4(%ebp)
neg negative
negl %edx
inc increment
incl _ptr
dec decrement
decl _ptr
XOR exclusiv or
xorl %eax,%eax
rol rotate left
ror rotate right
MUL multiply
imull -4(%ebp),%eax
OR or
orl %eax,-4(%ebp)
swl sign extend
movswl %si,%eax
btract
subl $8,%esp
branch
jmp relative jump
call subroutine call
jxx conditional branch
je, jne,
jl, jle, jg, jge signed
jb, jbe, ja, jae unsigned
ret return from subroutine
miscellaneous
leave unlink opeation
.align alignment
nop no operation
Kono's home page http://bw-www.ie.u-ryukyu.ac.jp/~kono/