x86 指令详细编码在哪里可以找到?

计算机系统导论 467 views 4 replies
#1 ·

像网站上这种详细的编码

图片

Google 上也没有找到这么详细的 🥲

#2 ·
这个工具可以帮你转换汇编代码,正反都可以。不过这个工具似乎把 Source Reg 和 Destination Reg 搞反了。例如 mov %rax,%rdi 的机器码是 48 89 c7,而在这个工具里,输入 mov %rax,%rdi 得到的结果是 48 89 f8,输入 mov %rdi,%rax 得到的结果才是 48 89 c7。 另外寄存器以 r 开头的是 x86-64(或 x64)架构,而不是 x86 架构,详情见下图 ![图片|690x495](/uploads/image/7d/11/7d11cf0062634574fd4191abb4202fd2fc01992d177e97371c8c5c9ee6610442.avif)
❤️
3
#3 ·

不存在反不反的问题,单纯 AT&T 和微软的规范不一样

#5 ·

使用 gcc -c example.s,lab3 的附录 B 里有讲