匯編: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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM