【问题标题】:What do these x86 Assembly instruction codes mean?这些 x86 汇编指令代码是什么意思?
【发布时间】:2021-01-27 11:27:06
【问题描述】:

我正在查看 asmdbintel docs 以尝试从 asmdb 中找出其中的一些含义:

add  |  x:r8/m8, ib/ub  |  80 /0 ib
add  |  X:r64/m64, id   |  REX.W 81 /0 id
add  |  x:~r16/m16,~r16 |  66 01 /r
and  |  x:al, ib/ub     |  24 ib
btc  |  x:r16/m16, ib/ub | 66 0F BA /7 ib

/0/r/7 是什么意思?我假设可能有更多的“斜线 x”值,它们是什么意思,我如何在英特尔文档中找到它们?

那么ibid 是什么意思,它们不是十六进制值,很难在英特尔文档中搜索。据我所知,6680 是十六进制值,但 ibiw 等不是。

我想最终构建一个机器码生成器,所以需要能够理解机器码操作码的这些基本组件是什么。

【问题讨论】:

标签: assembly x86 intel machine-code


【解决方案1】:

你会想看到Intel® 64 and IA-32 Architectures Software Developer Manuals

“斜线 x”表示部分指令编码在 modr/m 字节的操作码 (reg) 部分。请参阅第 2A 卷第 2 章指令格式。

“ib”和“id”分别表示“立即字节”和“立即双字”。您可以在第 2A 卷附录 A.2 OPCODE MAP / KEY TO ABBREVIATIONS 中查看所有缩写词。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多