题目是这样的:
输出X*Y(X,Y都是一位十六进制)
我做的时候遇到问题了,因为乘法指令结果都是保存在32位中的,我用的是带符号的 IMUL,那么结果存在AX中
可是我输出的时候使用
MOV AH,01H
INT 21H
输出,输出的是AL
那么我如何把AX的结果放入AL中呢?
------解决方案--------------------
用词不大准确啊,什么输出输入的,这两个词以后遇到I/O的时候会用上的,换个用语吧,赋值
------解决方案--------------------
32 位的运算结果,到输出显示出来,不只是将 AL 通过 int21h 的 02h 功能这么简单的了,一般是要将 32 位的数值逐位算出十进制数值来,在每个数值数字转换为相应的显示字符,然后再输出。
另外,输出字符是 02h 功能,不是 01h 功能;待显示的字符是放在 DL 里而非 AL 中。