我喜欢将一个字节从一个内存位置添加到一个 32 位寄存器,
这在 x86 汇编中可能吗?
add edx, byte [ebx]
导致错误:操作数大小不匹配
最佳答案
您需要确保操作数的大小相同。
这涉及到标志的问题。如果您使用 signed 整数,您应该使用 movsx , 或使用 movzx如果您使用的是 unsigned 整数。
movsx/movzx eax, byte ptr [ebx]
add edx, eax
关于assembly - x86 汇编添加不同大小的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23962562/