Math ASM语言中的算术运算
我只是需要一些帮助。我不完全理解,而且我对masm32还相当陌生,所以如果你能解释一下,那就太好了Math ASM语言中的算术运算,math,assembly,masm32,operations,q,Math,Assembly,Masm32,Operations,Q,我只是需要一些帮助。我不完全理解,而且我对masm32还相当陌生,所以如果你能解释一下,那就太好了 MOV AX, 200 ADD AX, 300 MOV RESULT, AX 结果等于500吗?我尝试添加3和2,并使用它显示输出: MOV DX, RESULT ADD RESULT, '0' MOV AH, 02H INT 21H 但输出是一个糖果棒字符!哪里错了 现在我假设减法和加法的作用是一样的,所以我们继续乘法。 这就是我为乘法所做的 MOV AX, 30 MOV BX, 8 MUL
MOV AX, 200
ADD AX, 300
MOV RESULT, AX
结果等于500吗?我尝试添加3和2,并使用它显示输出:
MOV DX, RESULT
ADD RESULT, '0'
MOV AH, 02H
INT 21H
但输出是一个糖果棒字符!哪里错了
现在我假设减法和加法的作用是一样的,所以我们继续乘法。
这就是我为乘法所做的
MOV AX, 30
MOV BX, 8
MUL BX
MOV RESULT, AX
结果的值是否等于240?。。。。
我试着把AX当作3,把BX当作2。输出是一个黑桃。你能给我指一下正确的方向吗
现在开始分组
MOV AX, 30
MOV BX, 12
DIV BX
MOV RESULT, AX
商是多少?如果我读的是正确的,那就是AX,DX保存剩余的
我已经做了8位算术(使用AL、BL、DL…),我尝试在这里应用它,遗憾的是,当结果大于128时,它只输出垃圾。有人建议我应该将变量声明为'RESULT dw',而不是'RESULT db',并且应该使用AX BX来代替AL BL寄存器。。。。现在我被卡住了
任何帮助都将不胜感激!抱歉,如果这些问题看起来太琐碎了。无论如何,先谢谢你!:DD
MOV-AX,200
添加AX,300
MOV结果,AX
结果等于500吗 对
我尝试添加3和2,并使用它显示输出:
MOV-DX,结果
添加结果“0”
MOV-AH,02H
int21h
但输出是一个糖果棒字符!哪里错了 在将
RESULT
移动到DX
之后,您正在将'0'
添加到RESULT
。您可能应该将'0'
添加到DL
中,而不是添加到结果中
现在开始分组。
MOV-AX,30
MOV BX,12
DIV BX
MOV结果,AX
商是多少?如果我读的是正确的,那就是AX,DX保存剩余的
DIV BX
将32位值DX:AX
除以BX
,因此您应该在除法之前清除DX
。商将在AX
中结束,其余的在DX
中结束
有人建议我将变量声明为RESULT dw?
如果要将16位值移动到变量中或从变量中移动(例如,MOV RESULT,AX
),则应使变量(至少)为16位