DBmulDB: ;
Double Byte × Double Byte
MOV
R7
,
#
0
MOV
R6
,
#
0
MOV
R5
,
#
0
MOV
R4
,
#
0 ;R3R2×R2R1=R7R6R5R4
;低字节乘以低字节
MOV
A,
R0
MOV
B
,
R2
MUL
AB
MOV
R4
,A
MOV
R5
,
B
;高字节乘以低字节
MOV
A,
R1
MOV
B
,
R2
MUL
AB
ADD
A,
R5
MOV
R5
,A
MOV
A,
B
ADDC
A,
#
0
MOV
R6
,A
;低字节乘以高字节
MOV
A,
R0
MOV
B
,
R3
MUL
AB
ADD
A,
R5
MOV
R5
,A
MOV
A,
B
ADDC
A,
#
0
ADD
A,
R6
MOV
R6
,A
MOV
A,
#
0
ADDC
A,
#
0
MOV
R7
,A
;高字节乘以高字节
MOV
A,
R1
MOV
B
,
R3
MUL
AB
ADD
A,
R6
MOV
R6
,A
MOV
A,
B
ADDC
A,
R7
MOV
R7
,A
RET