PIC17C752 MICROCHIP [Microchip Technology], PIC17C752 Datasheet - Page 63

no-image

PIC17C752

Manufacturer Part Number
PIC17C752
Description
High-Performance 8-Bit CMOS EPROM Microcontrollers
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC17C752-16/L
Manufacturer:
Microchip
Quantity:
120
Part Number:
PIC17C752-16/L
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C752-16/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C752-16E/L
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C752-16E/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C752-16I/L
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C752-33/L
Manufacturer:
Microchip
Quantity:
304
Part Number:
PIC17C752-33I/L
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
Part Number:
PIC17C752-ES
Manufacturer:
Microchip
Quantity:
18
Example 9-4 shows the sequence to do an 16 x 16
signed multiply. Equation 9-2 shows the algorithm
used. The 32-bit result is stored in four registers
RES3:RES0. To account for the sign bits of the argu-
ments, each argument pairs most significant bit (MSb)
is tested and the appropriate subtractions are done.
EQUATION 9-2:
RES3:RES0
1997 Microchip Technology Inc.
= ARG1H:ARG1L ARG2H:ARG2L
= (ARG1H ARG2H 2
(ARG1H ARG2L 2
(ARG1L ARG2H 2
(ARG1L ARG2L)
(-1 ARG2H<7> ARG1H:ARG1L 2
(-1 ARG1H<7> ARG2H:ARG2L 2
16 x 16 SIGNED
MULTIPLICATION
ALGORITHM
8
8
16
)
)
)
16
16
)
)
+
+
+
+
+
Preliminary
EXAMPLE 9-4:
;
;
;
;
;
SIGN_ARG1
;
CONT_CODE
MOVFP
MULWF
MOVPF
MOVPF
MOVFP
MULWF
MOVPF
MOVPF
MOVFP
MULWF
MOVFP
ADDWF
MOVFP
ADDWFC
CLRF
ADDWFC
MOVFP
MULWF
MOVFP
ADDWF
MOVFP
ADDWFC
CLRF
ADDWFC
BTFSS
GOTO
MOVFP
SUBWF
MOVFP
SUBWFB
BTFSS
GOTO
MOVFP
SUBWF
MOVFP
SUBWFB
:
ARG1L, WREG
ARG2L
PRODH, RES1 ;
PRODL, RES0 ;
ARG1H, WREG
ARG2H
PRODH, RES3 ;
PRODL, RES2 ;
ARG1L, WREG
ARG2H
PRODL, WREG ;
RES1, F
PRODH, WREG ;
RES2, F
WREG, F
RES3, F
ARG1H, WREG ;
ARG2L
PRODL, WREG ;
RES1, F
PRODH, WREG ;
RES2, F
WREG, F
RES3, F
ARG2H, 7
SIGN_ARG1
ARG1L, WREG ;
RES2
ARG1H, WREG ;
RES3
ARG1H, 7
CONT_CODE
ARG2L, WREG ;
RES2
ARG2H, WREG ;
RES3
16 x 16 SIGNED MULTIPLY
ROUTINE
; ARG1L * ARG2L ->
;
; ARG1H * ARG2H ->
;
; ARG1L * ARG2H ->
;
; Add cross
;
;
;
; ARG1H * ARG2L ->
;
; Add cross
;
;
;
; ARG2H:ARG2L neg?
; no, check ARG1
;
; ARG1H:ARG1L neg?
; no, done
;
PRODH:PRODL
PRODH:PRODL
PRODH:PRODL
PRODH:PRODL
products
products
DS30264A-page 63

Related parts for PIC17C752