1. 程式人生 > >彙編:1位16進位制數到ASCII碼轉換

彙編:1位16進位制數到ASCII碼轉換

;============================
;1位16進位制數到ASCII碼轉換
;   { X+30H (0≤X≤9)
;Y= {
;   { X+37H (0AH≤X≤0FH)
DATAS SEGMENT
Num db 9
ASCII db ?
DATAS ends

CODES SEGMENT
    ASSUME CS:CODES, DS:DATAS
    START:
        mov AX,DATAS
        mov DS,AX

        mov al,Num  ;將帶操作的字元放入al中
        and al,0FH  ;求與 運算 
        add
al,30H ;先加上30H (如果為數字 就轉化為了數字對應的ASCII碼) cmp al,'9' jBE flag ;小於等於9對應的ASCII碼跳轉 add al,07H ;說面待轉換的字元為字母則再加上07H轉換為對應的字元的ASCII碼 flag: mov ASCII,al;將最終結果賦回ASCII中 mov ah,4ch int 21H CODES ends end START