【发布时间】:2018-09-03 11:19:39
【问题描述】:
mov 指令有 4 种类型:movb、movw、movl。
后缀b,w,l表示源寄存器的大小。
但是,在组装时,我发现了这些后缀的问题。
请参见下面的示例。
.global main
main:
movb %ss, (%ecx) # ==> assemble (X)
movw %ss, (%ecx) # ==> assemble (O)
即使源寄存器 %ss 是 1 字节大小,
1byte 指令 movb %ss, (%ecx) 汇编 失败,
2 字节指令movw %ss, (%ecx) 汇编成功。
为什么会这样?
难道只是linux as的bug?
【问题讨论】:
标签: assembly x86 elf disassembly mov