-3
我写了这段代码来求解一个方程。它适用于加法和乘法,但是对于减法它没有给出正确的结果。程序集:减去有符号字
;to subtract
mov ax,00
mov bx,00
mov dx,00
mov cx,00
mov si,offset mulx
mov di,offset sumy
mov bx,offset subr
mov ax,word ptr [si]
cwd
sub ax,word ptr[di]
mov word ptr[bx],ax
add si,2
add di,2
add bx,2
mov dx,word ptr [si]
cwd
sub dx,word ptr[di]
mov word ptr[bx],dx
HLT
的公式为:sum(X)*m - sum(y)/n
所有带正负号,x
为byte y
是字,m
和n
也是话。问题是减法,我该如何解决?
_not给予正确result_是一个糟糕的问题说明。告诉我们你提供了什么样的输入,你得到了什么输出以及你的期望。另外,学习使用调试器。 – Jester
你在代码中提到的'x'和'y'和'n'在哪里?请明确说明您要添加的位数,**和**会导致。“CWD”将“AX”转换为32位(扩展为“DX”)。然而,在你发布另一个CWD指令之前,你从不使用'DX'。 –
我想你错误理解了'CWD'。 –