要求用户从键盘输入一个不超过5 位的整数,计算并输出该数的各位之和。要求:提示输入一十进制数;键盘输入,Enter键结束输入,并换行显示结果。
在emu8086环境下成功运行DATAS SEGMENT
STRING1 DB 0,0,'$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
JUDGE: ;FIRST
CMP CX,10H
JA COUNT
MOV AH,1
INT 21H
CMP AL,0DH
JZ ERROR
CMP AL,30H
JZ ERROR
JB ERROR
CMP AL,39H
JA ERROR
SUB AL,30H
ADD BL,AL
INC CX
KIN: ;KEEP INPUT 4 NUMS
MOV AH,1
INT 21H
CMP AL,0DH
JZ TRANS
CMP AL,30H
JB ERROR
CMP AL,39H
JA ERROR
SUB AL,30H
ADD BL,AL
INC CX
CMP CX,5H
JZ TRANS
JMP KIN
ERROR:
MOV AX,0
MOV CX,0
MOV BX,0
MOV AH,2
MOV DL,0DH
INT 21H
MOV AH,2
MOV DL,0AH
INT 21H
JMP START
COUNT: ;INITIAL CX
MO