幫我看這之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 個解答
- peecehoodLv 41 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是我的工作。