汇编语言中怎么把运算结果输出到屏幕上啊? 在网上找了很多太复杂了,有简单点的么?

2025-01-07 11:56:58
推荐回答(1个)
回答1:

这个程序有两处错误:

1. CODE SEGMENT 后面的ASSUME 应当另起一行

2. 算法中直接将MAX送到DL并输出到屏幕,用了下面的三条指令:
MOV DL, MAX
MOV AH, 02H
INT 21H
这么处理屏幕上是不会显示正确结果的。

不能显示的原因是:使用02H号DOS系统功能调用时,DL中的应当是字符的ASCII码。而你的MAX中存的是二进制的数值,不是这个数值对应字符的ASCII码值。

所以,对于不大于9的二进制数,只要加一条指令将二进制数转成该数的ASCII码值就可以正常显示了。
上面的三条指令改成这样:
MOV DL, MAX
ADD DL, 30H
MOV AH, 02H
INT 21H

你这么改一下再试试看