Как создать процедуру выводящую код символа в HEX формате?
Красивый хак для вывода AL именно в шестнадцатиричном виде, подсмотренный мной в далёком 1989-м году в SYMDEB.EXE и так мне в своё время понравившийся, что я его запомнил на всю жизнь. Вот слегка видоизменённый по сравнению с оригиналом из SYMDEB.EXE вариант (там использовались всякие дополнительные проверки, которые я тут выкинул). Прошу заметить -- ни одного сравнения, ни одного условного перехода!

AL_to_HEX       proc near
        push    ax
        shr     al,4
        call    @@outNibble
        pop     ax
@@outNubble:
        and     al,0fh
        add     al,90h
        daa
        adc     al,40h
        daa
        mov     ah,0eh
        int     10h
        ret
AL_TO_HEX       endp
что делаю не так
Не пользуетесь отладкой своего кода. За вас это делать бесплатно никто не будет, тем более в асме.