发表于:2006-04-25 19:49:00
9楼
无符号双字节快速乘法子程序
Q16RR: MOV A,R7 ;(R4R5)*(R6R7)->(R2R3R4R5)
MOV B,R5
MUL AB
XCH A,R5
MOV R3,B
MOV B,R6
MUL AB
ADD A,R3
MOV R2,A
CLR A
ADDC A,B
MOV R3,A
MOV A,R4
MOV B,R7
MUL AB
ADD A,R2
XCH A,R4
XCH A,B
ADDC A,R3
MOV R3,A
MOV F0,C ;F0=PSW.5
MOV A,R6
MUL AB
ADD A,R3
MOV R3,A
CLR A
MOV ACC.0,C
MOV C,F0
ADDC A,B
MOV R2,A
RETI
以上是一个乘法指令,但我对乘法指令 MUL AB 的功能一直搞不明白,我们知道加减法可以位与位之间直接进行运算,我不明白乘法指令如何进行运算,上面的指令我看了好长时间也不懂,恳请那位高手帮我分析一下程序,编程思路是如何的?