要求用户从键盘输入一个5 位的整数,计算并输出该数的各位之和。要求:提示输入一十进制数;键盘输入
在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,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,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
MOV CX,0H
JMP START
TRANS: ;OUTPUT
MOV AX,0H
MOV AX,BX
MOV DL,10
DIV DL
ADD AX,3030H
MOV STRING1,AL
MOV STRING1+1,AH
MOV AH,2
MOV DL,0DH
INT 21H
MOV AH,2
MOV DL,0AH
INT 21H
MOV DX,OFFSET (STRING1)
MOV AH,09
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START