s1 segment stack
dw 400 dup(?)
tos label word
s1 ends
s2 segment
assume cs:s2,ss:s1
main proc near
mov ax,s1
mov ss,ax
lea sp,tos
mov cx,0
ko:
mov ah,01h
int 21h
cmp al,0dh
je output1
inc cx
jmp ko
output1:
mov dl,0dh
mov ah,02h
int 21h
mov dl,0ah
mov ah,02h
int 21h
mov ax,cx
mov dl,10
mov cx,0
output2:
div dl
push ax
inc cx
xor ah,ah
cmp al,0
jne output2
output3:
pop dx
mov dl,dh
add dl,30h
mov ah,02h
int 21h
loop output3
mov ah,4ch
int 21h
main endp
s2 ends
end main
dw 400 dup(?)
tos label word
s1 ends
s2 segment
assume cs:s2,ss:s1
main proc near
mov ax,s1
mov ss,ax
lea sp,tos
mov cx,0
ko:
mov ah,01h
int 21h
cmp al,0dh
je output1
inc cx
jmp ko
output1:
mov dl,0dh
mov ah,02h
int 21h
mov dl,0ah
mov ah,02h
int 21h
mov ax,cx
mov dl,10
mov cx,0
output2:
div dl
push ax
inc cx
xor ah,ah
cmp al,0
jne output2
output3:
pop dx
mov dl,dh
add dl,30h
mov ah,02h
int 21h
loop output3
mov ah,4ch
int 21h
main endp
s2 ends
end main