欢迎访问ic37.com |
会员登录 免费注册
发布采购

PIC18F8621-I/PT 参数 Datasheet PDF下载

PIC18F8621-I/PT图片预览
型号: PIC18F8621-I/PT
PDF下载: 下载PDF文件 查看货源
内容描述: 八十〇分之六十四引脚高性能, 64 KB的增强型闪存微控制器与A / D [64/80-Pin High-Performance, 64-Kbyte Enhanced Flash Microcontrollers with A/D]
分类和应用: 闪存微控制器和处理器外围集成电路装置时钟
文件页数/大小: 396 页 / 6639 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC18F8621-I/PT的Datasheet PDF文件第84页浏览型号PIC18F8621-I/PT的Datasheet PDF文件第85页浏览型号PIC18F8621-I/PT的Datasheet PDF文件第86页浏览型号PIC18F8621-I/PT的Datasheet PDF文件第87页浏览型号PIC18F8621-I/PT的Datasheet PDF文件第89页浏览型号PIC18F8621-I/PT的Datasheet PDF文件第90页浏览型号PIC18F8621-I/PT的Datasheet PDF文件第91页浏览型号PIC18F8621-I/PT的Datasheet PDF文件第92页  
PIC18F6525/6621/8525/8621  
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 four registers,  
RES3:RES0.  
EQUATION 8-2:  
16 x 16 SIGNED  
MULTIPLICATION  
ALGORITHM  
RES3:RES0  
=
=
ARG1H:ARG1L ARG2H:ARG2L  
EQUATION 8-1:  
16 x 16 UNSIGNED  
MULTIPLICATION  
ALGORITHM  
(ARG1H ARG2H 216) +  
(ARG1H ARG2L 28) +  
(ARG1L ARG2H 28) +  
(ARG1L ARG2L) +  
RES3:RES0  
=
=
ARG1H:ARG1L ARG2H:ARG2L  
(ARG1H ARG2H 216) +  
(ARG1H ARG2L 28) +  
(ARG1L ARG2H 28) +  
(ARG1L ARG2L)  
(-1 ARG2H<7> ARG1H:ARG1L 216) +  
(-1 ARG1H<7> ARG2H:ARG2L 216)  
EXAMPLE 8-4:  
16 x 16 SIGNED  
MULTIPLY ROUTINE  
MOVF  
MULWF  
ARG1L, W  
ARG2L  
; ARG1L * ARG2L ->  
; PRODH:PRODL  
;
;
EXAMPLE 8-3:  
16 x 16 UNSIGNED  
MULTIPLY ROUTINE  
MOVFF  
MOVFF  
PRODH, RES1  
PRODL, RES0  
MOVF  
MULWF  
ARG1L, W  
ARG2L  
;
;
; ARG1L * ARG2L ->  
; PRODH:PRODL  
;
;
MOVF  
MULWF  
ARG1H, W  
ARG2H  
; ARG1H * ARG2H ->  
; PRODH:PRODL  
;
;
MOVFF  
MOVFF  
PRODH, RES1  
PRODL, RES0  
MOVFF  
MOVFF  
PRODH, RES3  
PRODL, RES2  
;
;
MOVF  
MULWF  
ARG1H, W  
ARG2H  
; ARG1H * ARG2H ->  
; PRODH:PRODL  
;
;
MOVF  
MULWF  
ARG1L, W  
ARG2H  
; ARG1L * ARG2H ->  
; PRODH:PRODL  
;
; Add cross  
; products  
MOVFF  
MOVFF  
PRODH, RES3  
PRODL, RES2  
MOVF  
ADDWF  
MOVF  
PRODL, W  
RES1, F  
PRODH, W  
MOVF  
MULWF  
ARG1L,W  
ARG2H  
; ARG1L * ARG2H ->  
ADDWFC RES2, F  
CLRF WREG  
ADDWFC RES3, F  
;
;
;
; PRODH:PRODL  
;
; Add cross  
; products  
;
;
;
MOVF  
ADDWF  
MOVF  
ADDWFC RES2, F  
CLRF WREG  
ADDWFC RES3, F  
PRODL, W  
RES1, F  
PRODH, W  
;
MOVF  
MULWF  
ARG1H, W  
ARG2L  
;
; ARG1H * ARG2L ->  
; PRODH:PRODL  
;
; Add cross  
; products  
MOVF  
ADDWF  
MOVF  
PRODL, W  
RES1, F  
PRODH, W  
;
MOVF  
MULWF  
ARG1H, W  
ARG2L  
;
; ARG1H * ARG2L ->  
ADDWFC RES2, F  
CLRF WREG  
ADDWFC RES3, F  
;
;
;
; PRODH:PRODL  
;
; Add cross  
; products  
;
;
;
MOVF  
ADDWF  
MOVF  
ADDWFC RES2, F  
CLRF WREG  
ADDWFC RES3, F  
PRODL, W  
RES1, F  
PRODH, W  
;
;
BTFSS  
BRA  
MOVF  
SUBWF  
MOVF  
ARG2H, 7  
SIGN_ARG1  
ARG1L, W  
RES2  
; ARG2H:ARG2L neg?  
; no, check ARG1  
;
;
;
ARG1H, W  
SUBWFB RES3  
Example 8-4 shows the sequence to do a 16 x 16  
signed multiply. Equation 8-2 shows the algorithm  
used. The 32-bit result is stored in four registers,  
RES3:RES0. To account for the signed bits of the  
arguments, each argument pairs’ Most Significant bit  
(MSb) is tested and the appropriate subtractions are  
done.  
SIGN_ARG1  
BTFSS  
BRA  
ARG1H, 7  
CONT_CODE  
ARG2L, W  
RES2  
; ARG1H:ARG1L neg?  
; no, done  
;
;
;
MOVF  
SUBWF  
MOVF  
ARG2H, W  
SUBWFB RES3  
;
CONT_CODE  
:
DS39612B-page 86  
2005 Microchip Technology Inc.  
 复制成功!