DATAS SEGMENT
;此处输入数据段代码
x dw ?
n dw 10
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
db 100h dup(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
mov bx,0
L1:
mov ah,1
int 21h ;AL=输入数字的ascii码
cmp al,0dh ;0dh是回车
jz L2
sub al,30h
mov ah,0
xchg bx,ax
mul n
add bx,ax
jmp L1
L2:
MOV dl,0dh ;DL为回车
MOV AH,2
INT 21H ;dl=输出字符
mov x,bx ;把输入的结果存到x
mov ax,x
mov bx,10
mov cx,0
mov dx,0
L3:
div bx ;ax被除数隐藏,bx为除数,dx存放余数 ax存放商
push dx
inc cx
cwd ;字转化为双字
cmp ax,0 ;被除数不为0继续
jnz L3
L4:
pop dx
add dl,'0'
MOV AH,2
INT 21H
loop L4
MOV AH,4CH
INT 21H
CODES ENDS
END START