Assembly 装配算法

Assembly 装配算法,assembly,x86,Assembly,X86,有人能检查一下我的算法是否正确吗 .data val1 BYTE 15h val2 WORD 8765h val3 DWORD 0FFFFh val4 WORD 7FFFh 用汇编语言实现以下表达式:val3=(-val4+val3)–val2 movzx eax, val4 neg eax add val3, eax movzx ebx, val2 sub v

有人能检查一下我的算法是否正确吗

.data
    val1        BYTE        15h
    val2        WORD        8765h
    val3        DWORD   0FFFFh
    val4        WORD        7FFFh
用汇编语言实现以下表达式:
val3=(-val4+val3)–val2

movzx eax, val4
neg eax
add val3, eax
movzx ebx, val2
sub val3 ebx

如果假设16位变量仅包含非负值,则代码看起来是正确的


但是,上一条指令中缺少逗号。

我是否正确使用了movzx,因为类型不同,我想改为32 but