2014-09-29 10 views
0

기계 코드 00은 무엇을 의미합니까? 또한 때로는 기계 코드 08이 프로 시저에 표시되는 경우가 있습니다. 08은 무엇을 의미합니까?어셈블리 x86 머신 코드의 의미 00

08048413 <main>: 
    8048413: 55      push %ebp #save frame pointer 
    8048414: 89 e5     mov %esp,%ebp #create new frame pointer 
    8048416: 83 e4 f0    and $0xfffffff0,%esp 
    8048419: 83 ec 10    sub $0x10,%esp # pnter = pointer - 16 
    804841c: c7 44 24 04 03 00 00 movl $0x3,0x4(%esp) #store 3 as argument 2 
    8048423: 00 
    8048424: c7 04 24 01 00 00 00 movl $0x1,(%esp) 
    804842b: e8 bd ff ff ff   call 80483ed <sum>  
    8048430: c9      leave 
    8048431: c3      ret  
+4

addr 8048423을 참조하고 있습니까? 이전 줄에 속해 있다고 생각합니다. 두 명령을 비교하면 상수 - '03 00 00 00' (두 번째 줄'01 00 00 00')이 보입니다. 첫 번째 바이트는 offset ('0x4 (% esp)')을 사용하기 때문에 1 바이트 더 길다. 두 번째는 direct ('(% esp)')이다. – firda

답변

-2

당신은 문서를 읽고 각 연산 코드가

내 실수를 아차, 무슨 뜻인지 볼 필요가, NOP는 × 00가 아닌 (그 8051에 × 00) ...

이 표를 참조 http://sparksandflames.com/files/x86InstructionChart.html

+0

아니요, NOP는 0x90 – BlackBear

+0

입니다. @BlackBear, 맞습니다. 8051에 해당 0x00 ... –