Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math ASM语言中的算术运算_Math_Assembly_Masm32_Operations_Q - Fatal编程技术网

Math ASM语言中的算术运算

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

我只是需要一些帮助。我不完全理解,而且我对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 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位