movl에 대한 기계어 코드를 알수없을까요????

sala123의 이미지

movl에 대한 기계어 코드를 알수없을까요????
예를들어 movl $100 , %eax
했을때 어떤 기계어 코드가 나온느지 알고싶습니다.
쉽게 번역할 방법은 없을까요?
어쩔수없이 인텔 메뉴얼을 보아야할까요.

송지석의 이미지

C로 짠다음 디스어셈블 하시면?...

feanor의 이미지

sala123 wrote:

movl에 대한 기계어 코드를 알수없을까요?
예를들어 movl $100 , %eax
했을때 어떤 기계어 코드가 나오는지 알고싶습니다.

다음과 같이 간단히 할 수 있습니다. objdump -d가 디스어셈블링을 합니다.

$ cat >test.s <<END
> movl $100, %eax
> END
$ gcc -c test.s
$ objdump -d test.o

test.o:     file format elf32-i386

Disassembly of section .text:

00000000 <.text>:
   0:   a1 00 00 00 00          mov    0x0,%eax
   5:   8d 76 00                lea    0x0(%esi),%esi
$

--feanor

sala123의 이미지

답변감사합니다....^^
그런데....
gdb에서 디스어셈블해봤는데...이렇게 밖에 안나오는데요......ㅠㅠ
제가 알고싶은건 push $ebp했다면 이것에 대한 기계어 코드를 쉽게 구하는 방법이 있을런지요.

Dump of assembler code for function main:
0x8048460 <main>: push %ebp
0x8048461 <main+1>: mov %esp,%ebp
0x8048463 <main+3>: sub $0x8,%esp
0x8048466 <main+6>: movl $0x12,0xfffffffc(%ebp)
0x804846d <main+13>: sub $0x8,%esp
0x8048470 <main+16>: pushl 0xfffffffc(%ebp)
0x8048473 <main+19>: push $0x80484f8
0x8048478 <main+24>: call 0x804833c <p

sala123의 이미지

오! odjdump!
무지감사 :D