阿達 發問時間: 電腦與網際網路軟體 · 1 0 年前

8051 16位元之16進制轉成10進制(急!!!!)幫解

把值輸入到 (10H) (20H) 轉換後放到(20H)(21H)(22H) 位置

例如 FF FF ......... 06 55 35

我組語很差 拜託幫解!! 感恩!!!

1 個解答

評分
  • 1 0 年前
    最佳解答

    (10H)(20H)=30h,31h

    (20H)(21H)(22H)=32h,33h,34h

    ;30h 31h => 32h 33h 34h

    ;bit_cnt equ 35h

    mov31h,#0ffh

    mov30h,#0ffh

    callbin2bcd

    jmp$

    bin2bcd:

    mov32h,#0

    mov33h,#0

    mov34h,#0

    mov35h,#16

    clrc

    bin2bcd_1:

    mova,31h

    rlca

    mov31h,a

    mova,30h

    rlca

    mov30h,a

    mova,34h

    addca,34h

    daa

    mov34h,a

    mova,33h

    addca,33h

    daa

    mov33h,a

    mova,32h

    addca,32h

    daa

    mov32h,a

    djnz35h,bin2bcd_1

    ret

    end

還有問題?馬上發問,尋求解答。