一、问题描述:
从用户界面输入一串数字,当输入非数字类型时,进行输出。(输入的数据按照十进制的形式处理!)
二、求解思路:
当接收数据时:
对ah赋值为1,调用1号功能函数接收输入的数据,接收结果存储在al中。
利用cmp比较输入数据ASCII码与‘0’、‘9’的相对大小,以便于决定是否存储该数值还是结束该接收过程。
需要使用到乘法来积累输入的数值,在8086汇编语言中,默认使用al进行乘法运算,运算结果放置在ax中。所以在使用寄存器的过程中,数值的保留与取用需要明确。
当输出数值时:
经过上一步代码的运行,我们最终获得的是一个累计的数值,并且存储在某个寄存器中,所以我们需要一位一位剥离数据,将其输出。