x86 Assembly添加不同大小的操作数

kae*_*atl 1 x86 assembly

我想在内存位置添加一个字节到32位寄存器,这在x86汇编中是否可行? add edx, byte [ebx]原因error: mismatch in operand sizes

Bla*_*ear 5

您需要确保操作数大小相同.

这涉及到标志的问题.如果使用有符号整数,则应使用movsx,或者如果使用无符号整数,则使用movzx.

movsx/movzx eax, byte ptr [ebx]
add edx, eax
Run Code Online (Sandbox Code Playgroud)