在为程序做 objdump 时,"b8"、"bb" 和 "cd" 是从哪里来的?
From where "b8", "bb" and "cd" is coming while doing objdump for a program?
有人可以帮助我理解为什么 "b8"、"bb" 和 "cd" 被添加到机器代码中,尽管我只将 1、10 和 80 移动到寄存器。
user@ubuntu:~/Documents/MyCode$ objdump -d shell1 -M intel
shell1: file format elf32-i386
Disassembly of section .text:
08048060 <_start>:
8048060: **b8** 01 00 00 00 mov eax,0x1
8048065: **bb** 0a 00 00 00 mov ebx,0xa
804806a: **cd** 80 int 0x80
谢谢,
这些是十六进制的操作码(操作码)。
INT
是 0xcd
mov
是 0xb8、0xbb,(还有一些)
有人可以帮助我理解为什么 "b8"、"bb" 和 "cd" 被添加到机器代码中,尽管我只将 1、10 和 80 移动到寄存器。
user@ubuntu:~/Documents/MyCode$ objdump -d shell1 -M intel
shell1: file format elf32-i386
Disassembly of section .text:
08048060 <_start>:
8048060: **b8** 01 00 00 00 mov eax,0x1
8048065: **bb** 0a 00 00 00 mov ebx,0xa
804806a: **cd** 80 int 0x80
谢谢,
这些是十六进制的操作码(操作码)。
INT
是 0xcd
mov
是 0xb8、0xbb,(还有一些)