我想知道机器代码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