汇编x86机器代码,表示00



我想知道机器代码00是什么意思?此外,我有时会看到程序中出现机器代码08。08是什么意思?

    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    

00不是机器代码。它只是地址(0x00000003)。在64位机器中,地址由4个字节组成,并且反汇编不会显示太长的行,而是换行。也就是说

您需要阅读文档并了解每个操作码的含义

哦,我的错误,NOP不是0x00(它在8051上是0x00)。。。

看这张表http://sparksandflames.com/files/x86InstructionChart.html

最新更新