新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 匯編:將兩位十進制數轉化為十六進制數

        匯編:將兩位十進制數轉化為十六進制數

        作者: 時間:2016-12-01 來源:網絡 收藏

        mov ax,0 ;初始化ax
        sub bh,30h ;把ascII碼轉化為十進制數
        mov al,bh ;輸入的第一個數(十位數)
        mov cl,0ah
        mul cl ;al被乘十
        sub bl,30h
        add al,bl ;徹底轉化為十進制數
        mov dl,al ;dl 中為十進制數


        mov bl,10h ;16
        mov cl,al
        mov dl,0
        l1:cmp cl,bl ;和十六比較看看是否比十六大
        jnae l2
        inc dl ;看該數里面有幾個十六
        sub cl,bl
        jmp l1
        l2: add dl,30h ;比十六小的話第一位數應該為0,
        ;因為99化成十六進制數為63h第二位不會大于六
        mov ah,02h
        int 21h


        cmp cl,0ah ;cl和十進行比較
        jae l3
        mov dl,cl
        add dl,30h ;十以內的數加30
        mov ah,02h
        int 21h
        jmp tishi

        l3: mov dl,cl ;比十大的要變成字母
        add dl,37h ;十進制二位數和十六進制abcdef差37h
        mov ah,02h
        int 21h
        tishi:
        lea dx,kongzi;控制換行回車
        mov ah,09h
        int 21h
        lea dx,tital3;輸出抬頭3
        mov ah,09h
        int 21h
        mov ah,01h ;判斷是否繼續
        int 21h
        cmp al,y
        je retry
        lea dx,kongzi;控制換行回車
        mov ah,09h
        int 21h
        lea dx,tital4
        mov ah,09h
        int 21h
        over: ;結束
        mov ah,4ch
        int 21h
        code ends
        end start

        本文引用地址:http://www.104case.com/article/201612/324153.htm

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 太康县| 宁乡县| 石林| 瑞安市| 江源县| 高陵县| 梅河口市| 东乡族自治县| 温宿县| 如皋市| 江陵县| 洛扎县| 天镇县| 丹东市| 海门市| 阳曲县| 甘南县| 保定市| 乌拉特中旗| 新蔡县| 土默特右旗| 荥阳市| 南城县| 安丘市| 清水河县| 洮南市| 石河子市| 彭山县| 泊头市| 申扎县| 旌德县| 思茅市| 法库县| 平南县| 阜阳市| 江西省| 古蔺县| 平乐县| 宜良县| 古浪县| 鲜城|