我有一个包含sbytes的数组,使用
相互添加edx
和
ebp
寄存器。
代码工作正常,但现在我正在尝试移动
ebp
到一个名为total_sum的变量,它将保存SWORD。但是,我不知道该怎么做。
我得到的错误是
错误A2022:指令操作数必须相同siz
我理解这意味着我想要转换的格式是不同的。
有人可以帮我指出正确的方向吗?
以下是相关代码:
mov esi, OFFSET array
mov ecx, LENGTHOF array
mov total_sum, 0
mov ebp,0
L1:
movsx edx, byte ptr [esi]
add ebp, edx
inc esi
loop L1
mov eax, ebp
call WriteInt
call Crlf
mov [total_sum], ebp
答案 0 :(得分:0)
mov byte ptr [total_sum], ebp
变量声明为一个字节,寄存器为4个字节。汇编程序不确定你是什么意思 - 截断寄存器,或使用从标签total_sum开始的四个字节。