.MODEL SMALL .stack .DATA msg db 'input number?$' odoa db 0dh,0ah,'$' msg1 db 'error input$' tt db 12 dup(?) tab db '0123456789' .CODE MOV AX,@DATA MOV DS,AX ; tryagain: lea dx,msg mov ah,09 int 21h xor si,si ; rea: mov ah,01 ; input from kb int 21h cmp al,13 ; check enter!!! je proc1 cmp al,'0' ; check number!!! jl err cmp al,'9' jg err ; mov tt[si],al inc si jmp rea err: lea dx,odoa mov ah,09 int 21h ; lea dx,msg1 mov ah,09h int 21h jmp tryagain ; lea dx,odoa mov ah,09 int 21h ; proc1: lea dx,odoa mov ah,09 int 21h mov tt[si],'$' ; for ending ; lea dx,tt mov ah,09 int 21h ; lea dx,odoa mov ah,09 int 21h ; mov ah,4ch int 21h END