📄 p16math.lst
字号:
MPASM 4.01 Released P16MATH.ASM 5-27-2005 10:17:26 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;************************************************************************
00002 ;* Microchip Technology Inc. 2002 *
00003 ;* Assembler version: 2.0000 *
00004 ;* Filename: *
00005 ;* p16math.asm *
00006 ;************************************************************************
00007
00008 list p=16F877a
00009 #include P16F877a.inc
00001 LIST
00002 ; P16F877A.INC Standard Header File, Version 1.00 Microchip Technology, Inc.
00398 LIST
00010
00011 #define _C STATUS,0
00012
00013 MATH_VAR UDATA 0X50
0050 00014 AARGB0 RES 1
0051 00015 AARGB1 RES 1
0052 00016 AARGB5 RES 1
0053 00017 BARGB0 RES 1
0054 00018 BARGB1 RES 1
0055 00019 REMB0 RES 1
0056 00020 REMB1 RES 1
0057 00021 TEMP RES 1
0058 00022 LOOPCOUNT RES 1
00023
0000 00024 GLOBAL AARGB0, AARGB1, BARGB0
00025
00026 PROG2 CODE
00027 ;---------------- 8 * 8 UNSIGNED MULTIPLY -----------------------
00028
00029 ; Max Timing: 3+12+6*8+7 = 70 clks
00030 ; Min Timing: 3+7*6+5+3 = 53 clks
00031 ; PM: 19 DM: 4
0000 00032 UMUL0808L
0000 01?? 00033 CLRF AARGB1
0001 3008 00034 MOVLW 0x08
0002 00?? 00035 MOVWF LOOPCOUNT
0003 08?? 00036 MOVF AARGB0,W
00037
0004 00038 LOOPUM0808A
0004 0C?? 00039 RRF BARGB0, F
0005 1803 00040 BTFSC _C
0006 2??? 00041 GOTO LUM0808NAP
0007 0B?? 00042 DECFSZ LOOPCOUNT, F
0008 2??? 00043 GOTO LOOPUM0808A
00044
0009 01?? 00045 CLRF AARGB0
000A 3400 00046 RETLW 0x00
00047
000B 00048 LUM0808NAP
000B 1003 00049 BCF _C
000C 2??? 00050 GOTO LUM0808NA
MPASM 4.01 Released P16MATH.ASM 5-27-2005 10:17:26 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00051
000D 00052 LOOPUM0808
000D 0C?? 00053 RRF BARGB0, F
000E 1803 00054 BTFSC _C
000F 07?? 00055 ADDWF AARGB0, F
0010 0C?? 00056 LUM0808NA RRF AARGB0, F
0011 0C?? 00057 RRF AARGB1, F
0012 0B?? 00058 DECFSZ LOOPCOUNT, F
0013 2??? 00059 GOTO LOOPUM0808
0014 0008 00060 return
0000 00061 GLOBAL UMUL0808L
00062 ;---------------- 16/8 UNSIGNED DIVIDE ------------------------
00063
00064 ; Max Timing: 2+7*12+11+3+7*24+23 = 291 clks
00065 ; Min Timing: 2+7*11+10+3+7*17+16 = 227 clks
00066 ; PM: 39 DM: 7
00067
0015 00068 UDIV1608L
0000 00069 GLOBAL UDIV1608L
0015 01?? 00070 CLRF REMB0
0016 3008 00071 MOVLW 8
0017 00?? 00072 MOVWF LOOPCOUNT
00073
0018 0D?? 00074 LOOPU1608A RLF AARGB0,W
0019 0D?? 00075 RLF REMB0, F
001A 08?? 00076 MOVF BARGB0,W
001B 02?? 00077 SUBWF REMB0, F
00078
001C 1803 00079 BTFSC _C
001D 2??? 00080 GOTO UOK68A
001E 07?? 00081 ADDWF REMB0, F
001F 1003 00082 BCF _C
0020 0D?? 00083 UOK68A RLF AARGB0, F
00084
0021 0B?? 00085 DECFSZ LOOPCOUNT, F
0022 2??? 00086 GOTO LOOPU1608A
00087
0023 01?? 00088 CLRF TEMP
00089
0024 3008 00090 MOVLW 8
0025 00?? 00091 MOVWF LOOPCOUNT
00092
0026 0D?? 00093 LOOPU1608B RLF AARGB1,W
0027 0D?? 00094 RLF REMB0, F
0028 0D?? 00095 RLF TEMP, F
0029 08?? 00096 MOVF BARGB0,W
002A 02?? 00097 SUBWF REMB0, F
002B 01?? 00098 CLRF AARGB5
002C 0103 00099 CLRW
002D 1C03 00100 BTFSS _C
002E 0F?? 00101 INCFSZ AARGB5,W
002F 02?? 00102 SUBWF TEMP, F
00103
MPASM 4.01 Released P16MATH.ASM 5-27-2005 10:17:26 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0030 1803 00104 BTFSC _C
0031 2??? 00105 GOTO UOK68B
0032 08?? 00106 MOVF BARGB0,W
0033 07?? 00107 ADDWF REMB0, F
0034 01?? 00108 CLRF AARGB5
0035 0103 00109 CLRW
0036 1803 00110 BTFSC _C
0037 0F?? 00111 INCFSZ AARGB5,W
0038 07?? 00112 ADDWF TEMP, F
00113
0039 1003 00114 BCF _C
003A 0D?? 00115 UOK68B RLF AARGB1, F
00116
003B 0B?? 00117 DECFSZ LOOPCOUNT, F
003C 2??? 00118 GOTO LOOPU1608B
003D 0008 00119 return
0000 00120 GLOBAL UDIV1608L
00121
00122 end
MPASM 4.01 Released P16MATH.ASM 5-27-2005 10:17:26 PAGE 4
SYMBOL TABLE
LABEL VALUE
AARGB0 00000050
AARGB1 00000051
AARGB5 00000052
ACKDT 00000005
ACKEN 00000004
ACKSTAT 00000006
ADCON0 0000001F
ADCON1 0000009F
ADCS0 00000006
ADCS1 00000007
ADDEN 00000003
ADFM 00000007
ADIE 00000006
ADIF 00000006
ADON 00000000
ADRESH 0000001E
ADRESL 0000009E
BARGB0 00000053
BARGB1 00000054
BCLIE 00000003
BCLIF 00000003
BF 00000000
BRGH 00000002
C 00000000
C1INV 00000004
C1OUT 00000006
C2INV 00000005
C2OUT 00000007
CCP1CON 00000017
CCP1IE 00000002
CCP1IF 00000002
CCP1M0 00000000
CCP1M1 00000001
CCP1M2 00000002
CCP1M3 00000003
CCP1X 00000005
CCP1Y 00000004
CCP2CON 0000001D
CCP2IE 00000000
CCP2IF 00000000
CCP2M0 00000000
CCP2M1 00000001
CCP2M2 00000002
CCP2M3 00000003
CCP2X 00000005
CCP2Y 00000004
CCPR1H 00000016
CCPR1L 00000015
CCPR2H 0000001C
CCPR2L 0000001B
CHS0 00000003
CHS1 00000004
CHS2 00000005
MPASM 4.01 Released P16MATH.ASM 5-27-2005 10:17:26 PAGE 5
SYMBOL TABLE
LABEL VALUE
CIS 00000003
CKE 00000006
CKP 00000004
CM0 00000000
CM1 00000001
CM2 00000002
CMCON 0000009C
CMIE 00000006
CMIF 00000006
CREN 00000004
CSRC 00000007
CVR0 00000000
CVR1 00000001
CVR2 00000002
CVR3 00000003
CVRCON 0000009D
CVREN 00000007
CVROE 00000006
CVRR 00000005
D 00000005
DATA_ADDRESS 00000005
DC 00000001
D_A 00000005
EEADR 0000010D
EEADRH 0000010F
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -