;this program does the reverse.  It takes byte ptr 403h, and creates
; three ASCII DECIMAL bytes in locations 404h-405h-406h as output
;
        mov     al, byte ptr 403h       ;get the num 0-255
        mov     bl, '0'                 ;set ascii count to zero
hnl:    cmp     al, 100                 ;still a 100 to cut off??
        jb      exit100
        sub     al, 100                 ;cut it off!
        add     bl, 1                   ; and count it!!
        jmp     hnl
exit100: mov    byte ptr 404h, bl       ;move out 100s (ascii dec) digit
        mov     bl, '0'                 ;reinit counter for tens

tnl:    cmp     al, 10                  ;same logic as above, except for 10
        jb      exit10
        sub     al, 10
        add     bl, 1                   ;count tens
        jmp     tnl

exit10: mov     byte ptr 405h, bl       ;move out 10s (ascii dec) digit
        add     al, '0'                 ;ascii-fy the ones digit
        mov     byte ptr 406h, al       ;move out 1s (ascii dec ) digit
        int     20h
        end