123 發問時間: 電腦與網際網路程式設計 · 1 0 年前

幫我看這之8051的乘法哪裡錯了~答案怪怪的

X_1equ10h

x_2equ11h

y_1equ20h

a_1equ30h

a_2equ31h

b_1equ40h

b_2equ41h

c_1equ50h

c_2equ51h

c_3equ52h

movx_1,#88h

movx_2,#33h

movy_1,#49h

mova,x_1

mova,y_1

mulab

movb_1,b

mova_1,a

mova,x_2

movb,y_1

mulab

movb_2,b

mova_2,a

mova,a_1

movc_1,b

mova,b_1

adda,a_2

movc_2,a

mova,#0

addca,b_2

movc_3,a

wait:jmpwait

我用小算盤算出來答案是:EB1C8

結果執行完的答案是:0E8B0E

拜托幫我解答一下!!感恩!!

2 個解答

評分
  • 1 0 年前
    最佳解答

    我給你另依種寫法好了,這種方式比較正確。

    x_1 equ 20h

    x_2 equ 21h

    x_3 equ 22h

    y_1 equ 23h

    c_1 equ 24h

    c_2 equ 25h

    c_3 equ 26h

    abit7 reg acc.0

    mov x_1,#88h

    mov x_2,#33h

    mov y_1,#49h

    mov r7,#8

    loop:

    mov a,y_1

    jnb abit7,next1

    mov a,c_1

    mov r0,x_1

    add a,r0

    mov c_1,a

    mov a,c_2

    mov r0,x_2

    addc a,r0

    mov c_2,a

    mov a,c_3

    mov r0,x_3

    addc a,r0

    mov c_3,a

    next1:

    mov a,y_1

    rrc a

    mov y_1,a

    mov a,#0

    rlc a

    mov a,x_1

    rlc a

    mov x_1,a

    mov a,x_2

    rlc a

    mov x_2,a

    mov a,x_3

    rlc a

    mov x_3,a

    djnz r7,loop

    wait:jmp wait

    參考資料: 8051是我的工作。
  • Egar
    Lv 5
    1 0 年前

    mov a,y_1這裡應該是mov b,y_1吧!

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