【问题标题】:operand size for "out"“out”的操作数大小
【发布时间】:2020-07-09 19:35:55
【问题描述】:

我正在使用 GAS 汇编器。
我正在尝试写入 I/O 端口 0x20,我这样做是这样的:

outb $0x20, $0x20

但我收到此错误:

Error: operand type mismatch for out

我做错了什么?

【问题讨论】:

  • x86 指令集手册中没有out imm, imm 的编码。唯一的编码是用于out imm8, [e]a[x/l]out dx, [e]a[x/l],每个都从[e]a[x/l] 寄存器写入值。

标签: assembly x86 gnu-assembler att


【解决方案1】:

https://c9x.me/x86/html/file_module_x86_id_222.html

out 的操作数不能有两个立即数。这与out的操作数大小或后缀无关。

【讨论】:

  • 至少不在此说明中(enter 当然有)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-05
  • 1970-01-01
  • 2019-10-19
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多