Microchip Technology IC MCU OTP 2KX PIC17C42A-16/P DIP-40 MCP PIC17C42A-16/P Scheda Tecnica
Codici prodotto
PIC17C42A-16/P
PIC17C4X
DS30412C-page 50
1996 Microchip Technology Inc.
Example 8-3 shows the sequence to do a 16 x 16
unsigned multiply. Equation 8-1 shows the algorithm
that is used. The 32-bit result is stored in 4 registers
RES3:RES0.
unsigned multiply. Equation 8-1 shows the algorithm
that is used. The 32-bit result is stored in 4 registers
RES3:RES0.
EQUATION 8-1:
16 x 16 UNSIGNED
MULTIPLICATION
ALGORITHM
MULTIPLICATION
ALGORITHM
RES3:RES0
=
ARG1H:ARG1L * ARG2H:ARG2L
=
(ARG1H * ARG2H * 2
16
) +
(ARG1H * ARG2L * 2
8
)
+
(ARG1L * ARG2H * 2
8
)
+
(ARG1L * ARG2L)
EXAMPLE 8-3:
16 x 16 MULTIPLY ROUTINE
MOVFP ARG1L, WREG
MULWF ARG2L ; ARG1L * ARG2L ->
; PRODH:PRODL
MOVPF PRODH, RES1 ;
MOVPF PRODL, RES0 ;
;
MOVFP ARG1H, WREG
MULWF ARG2H ; ARG1H * ARG2H ->
; PRODH:PRODL
MOVPF PRODH, RES3 ;
MOVPF PRODL, RES2 ;
;
MOVFP ARG1L, WREG
MULWF ARG2H ; ARG1L * ARG2H ->
; PRODH:PRODL
MOVFP PRODL, WREG ;
ADDWF RES1, F ; Add cross
MOVFP PRODH, WREG ; products
ADDWFC RES2, F ;
CLRF WREG, F ;
ADDWFC RES3, F ;
;
MOVFP ARG1H, WREG ;
MULWF ARG2L ; ARG1H * ARG2L ->
; PRODH:PRODL
MOVFP PRODL, WREG ;
ADDWF RES1, F ; Add cross
MOVFP PRODH, WREG ; products
ADDWFC RES2, F ;
CLRF WREG, F ;
ADDWFC RES3, F ;