PIC18F248-E/L MICROCHIP [Microchip Technology], PIC18F248-E/L Datasheet - Page 78
![no-image](/images/no-image-200.jpg)
PIC18F248-E/L
Manufacturer Part Number
PIC18F248-E/L
Description
28/40-Pin High-Performance, Enhanced Flash Microcontrollers with CAN Module
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet
1.PIC18F248-EL.pdf
(402 pages)
- Current page: 78 of 402
- Download datasheet (8Mb)
Example 7-3 shows the sequence to do a 16 x 16
unsigned multiply. Equation 7-1 shows the algorithm
that is used. The 32-bit result is stored in four registers,
RES3:RES0.
EQUATION 7-1:
EXAMPLE 7-3:
Example 7-4 shows the sequence to do a 16 x 16
signed multiply. Equation 7-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 pair’s Most Significant bit (MSb)
is tested and the appropriate subtractions are done.
DS41159E-page 76
PIC18FXX8
;
;
;
RES3:RES0
MOVF
MULWF
MOVFF
MOVFF
MOVF
MULWF
MOVFF
MOVFF
MOVF
MULWF
MOVF
ADDWF
MOVF
ADDWFC RES2
CLRF
ADDWFC RES3
MOVF
MULWF
MOVF
ADDWF
MOVF
ADDWFC RES2
CLRF
ADDWFC RES3
ARG1L, W
ARG2L
PRODH, RES1
PRODL, RES0
ARG1H, W
ARG2H
PRODH, RES3
PRODL, RES2
ARG1L, W
ARG2H
PRODL, W
RES1
PRODH, W
WREG
ARG1H, W
ARG2L
PRODL, W
RES1
PRODH, W
WREG
=
=
ARG1H:ARG1L ARG2H:ARG2L
(ARG1H ARG2H 2
(ARG1H ARG2L 2
(ARG1L ARG2H 2
(ARG1L ARG2L)
16 x 16 UNSIGNED
MULTIPLICATION
ALGORITHM
16 x 16 UNSIGNED
MULTIPLY ROUTINE
; ARG1L * ARG2L ->
; PRODH:PRODL
;
;
; ARG1H * ARG2H ->
; PRODH:PRODL
;
;
; ARG1L * ARG2H ->
; PRODH:PRODL
;
; Add cross
; products
;
;
;
;
; ARG1H * ARG2L ->
; PRODH:PRODL
;
; Add cross
; products
;
;
;
8
8
16
) +
) +
) +
EQUATION 7-2:
EXAMPLE 7-4:
;
;
;
;
;
SIGN_ARG1
;
CONT_CODE
RES3:RES0
MOVF
MULWF
MOVFF
MOVFF
MOVF
MULWF
MOVFF
MOVFF
MOVF
MULWF
MOVF
ADDWF
MOVF
ADDWFC RES2
CLRF
ADDWFC RES3
MOVF
MULWF
MOVF
ADDWF
MOVF
ADDWFC RES2
CLRF
ADDWFC RES3
BTFSS
BRA
MOVF
SUBWF
MOVF
SUBWFB RES3
BTFSS
BRA
MOVF
SUBWF
MOVF
SUBWFB RES3
=
=
:
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
ARG1L, W
ARG2L
PRODH, RES1
PRODL, RES0
ARG1H, W
ARG2H
PRODH, RES3
PRODL, RES2
ARG1L, W
ARG2H
PRODL, W
RES1
PRODH, W
WREG
ARG1H, W
ARG2L
PRODL, W
RES1
PRODH, W
WREG
ARG2H, 7
SIGN_ARG1
ARG1L, W
RES2
ARG1H, W
ARG1H, 7
CONT_CODE
ARG2L, W
RES2
ARG2H, W
16 x 16 SIGNED
MULTIPLICATION
ALGORITHM
16 x 16 SIGNED
MULTIPLY ROUTINE
© 2006 Microchip Technology Inc.
8
8
16
) +
) +
; ARG1L * ARG2L ->
; PRODH:PRODL
;
;
; ARG1H * ARG2H ->
; PRODH:PRODL
;
;
; ARG1L * ARG2H ->
; PRODH:PRODL
;
; Add cross
; products
;
;
;
;
; ARG1H * ARG2L ->
; PRODH:PRODL
;
; Add cross
; products
;
;
;
; ARG2H:ARG2L neg?
; no, check ARG1
;
;
;
; ARG1H:ARG1L neg?
; no, done
;
;
;
) +
16
16
) +
)
Related parts for PIC18F248-E/L
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
![PIC18F24](/images/no-image3.png)
Part Number:
Description:
28/40-Pin High-Performance, Enhanced Flash Microcontrollers with CAN Module
Manufacturer:
MICROCHIP [Microchip Technology]
Datasheet:
![PIC18F452I/L](/images/manufacturer_photos/0/4/439/microchip_technology_tmb.jpg)
Part Number:
Description:
IC, 8BIT MCU, PIC18F, 40MHZ, LCC-44
Manufacturer:
Microchip Technology
Datasheet:
![PIC18LF8680-I/PT](/images/manufacturer_photos/0/4/439/microchip_technology_tmb.jpg)
Part Number:
Description:
IC, 8BIT MCU, PIC18LF, 40MHZ, PLCC-64
Manufacturer:
Microchip Technology
Datasheet:
![PIC18F85K22-I/PT](/images/manufacturer_photos/0/4/439/microchip_technology_tmb.jpg)
Part Number:
Description:
IC, 8BIT MCU, PIC18F, 64MHZ, TQFP-80
Manufacturer:
Microchip Technology
Datasheet:
![AC164130-2](/photos/15/88/158849/ac164130_tmb.jpg)
Part Number:
Description:
MCU, MPU & DSP Development Tools CAN/LIN PICtail Plus Daughter Board
Manufacturer:
Microchip Technology
Datasheet:
![PIC18F46K20-E/P](/photos/6/61/66192/150-40-dip_tmb.jpg)
Part Number:
Description:
IC, 8BIT MCU, PIC18F, 64MHZ, DIP-40
Manufacturer:
Microchip Technology
Datasheet:
![PIC18LF6680-I/L](/photos/12/13/121323/c04-049_l_tmb.jpg)
Part Number:
Description:
IC, 8BIT MCU, PIC18LF, 40MHZ, PLCC-64
Manufacturer:
Microchip Technology
Datasheet:
![PIC18F66K90-I/PT](/images/manufacturer_photos/0/4/439/microchip_technology_tmb.jpg)
Part Number:
Description:
IC, 8BIT MCU, PIC18F, 64MHZ, TQFP-64
Manufacturer:
Microchip Technology
![PIC18F85K90-I/PT](/images/manufacturer_photos/0/4/439/microchip_technology_tmb.jpg)
Part Number:
Description:
IC, 8BIT MCU, PIC18F, 64MHZ, TQFP-80
Manufacturer:
Microchip Technology
![PIC18F43K20-E/MV](/photos/16/15/161538/qfn-40_tmb.jpg)
Part Number:
Description:
8KB, Flash, 768bytes-RAM, 36I/O, 8-bit Family,nanowatt XLP 40 UQFN 5x5x0.5mm TUB
Manufacturer:
Microchip Technology
Datasheet:
![PIC18F43K20-I/MV](/photos/16/15/161538/qfn-40_tmb.jpg)
Part Number:
Description:
8KB, Flash, 768bytes-RAM, 36I/O, 8-bit Family,nanowatt XLP 40 UQFN 5x5x0.5mm TUB
Manufacturer:
Microchip Technology
![PIC18F44K20-E/MV](/photos/16/15/161538/qfn-40_tmb.jpg)
Part Number:
Description:
16KB, Flash, 768bytes-RAM, 36I/O, 8-bit Family,nanowatt XLP 40 UQFN 5x5x0.5mm TU
Manufacturer:
Microchip Technology
Datasheet:
![PIC18F44K20-I/MV](/photos/16/15/161538/qfn-40_tmb.jpg)
Part Number:
Description:
16KB, Flash, 768bytes-RAM, 36I/O, 8-bit Family,nanowatt XLP 40 UQFN 5x5x0.5mm TU
Manufacturer:
Microchip Technology
![PIC18F45K20-E/MV](/photos/16/15/161538/qfn-40_tmb.jpg)
Part Number:
Description:
32KB, Flash, 1536bytes-RAM, 36I/O, 8-bit Family,nanowatt XLP 40 UQFN 5x5x0.5mm T
Manufacturer:
Microchip Technology
Datasheet:
![PIC18F45K20-I/MV](/photos/16/15/161538/qfn-40_tmb.jpg)
Part Number:
Description:
32KB, Flash, 1536bytes-RAM, 36I/O, 8-bit Family,nanowatt XLP 40 UQFN 5x5x0.5mm T
Manufacturer:
Microchip Technology