[問題] 請問這段乘法的code有辦法再改進嗎 ?
我是要用8051做一個16位元的數字乘上一個8位元
的數字,16位元數字的High Byte存在Var_H, Low
Byte存在Var_L, 8位元的數字存在變數 ZZ, 最後
把乘積存在 A(High byte), R4(Millde byte)
和 R3(Low byte), code如下所列, 我算過除了
MUL 這個指令是4個cycle以外, 其他都是 1個
cycle, 所以這段code一共要 19 個cycle, 但
是我需要把這乘法耗掉的machine cycle縮短,
不知道要怎麼改才能做到, 請各位大大幫我看
一下, 哪怕是只少一個machine cycle都好 .
MOV A, ZZ
MOV B, Var_L
MUL AB
MOV R4, B
MOV R3, A
MOV A, ZZ
MOV B, Var_H
MUL AB
MOV R5, B
ADD A, R4
MOV R4, A
CLR A
ADDC A, R5
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.36.184
→
07/12 08:55, , 1F
07/12 08:55, 1F
→
07/12 09:46, , 2F
07/12 09:46, 2F
推
07/12 13:59, , 3F
07/12 13:59, 3F
→
07/12 14:01, , 4F
07/12 14:01, 4F
→
07/12 16:01, , 5F
07/12 16:01, 5F
→
07/12 16:21, , 6F
07/12 16:21, 6F
ASM 近期熱門文章
PTT數位生活區 即時熱門文章