📄 p18math.lst
字号:
MPASM 5.20 P18MATH.ASM 5-28-2008 15:51:08 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;************************************************************************
00002 ;* Microchip Technology Inc. 2002 *
00003 ;* Assembler version: 2.0000 *
00004 ;* Filename: *
00005 ;* p18math.asm (main routine) *
00006 ;* March 14,2002 *
00007 ;* Designed to run at 4MHz *
00008 ;* PICDEM 2 PLUS DEMO code *
00009 ;************************************************************************
00010
00011 list p=18f452
00012 #include p18f452.inc
00001 LIST
00002 ; P18F452.INC Standard Header File, Version 1.4 Microchip Technology, Inc.
00983 LIST
00013
00014 #define _C STATUS,0
00015
00016 MATH_VAR UDATA
000000 00017 AARGB0 RES 1
000001 00018 AARGB1 RES 1
000002 00019 AARGB5 RES 1
000003 00020 BARGB0 RES 1
000004 00021 BARGB1 RES 1
000005 00022 REMB0 RES 1
000006 00023 REMB1 RES 1
000007 00024 TEMP RES 1
000008 00025 LOOPCOUNT RES 1
00026
0000 00027 GLOBAL AARGB0, AARGB1, BARGB0
00028
00029 PROG2 CODE
00030 ;---------------- 8 * 8 UNSIGNED MULTIPLY -----------------------
00031
00032 ; Max Timing: 3+12+6*8+7 = 70 clks
00033 ; Min Timing: 3+7*6+5+3 = 53 clks
00034 ; PM: 19 DM: 4
000000 00035 UMUL0808L
000000 6A?? 00036 CLRF AARGB1
000002 0E08 00037 MOVLW 0x08
000004 6E?? 00038 MOVWF LOOPCOUNT
000006 50?? 00039 MOVF AARGB0,W
00040
000008 00041 LOOPUM0808A
000008 32?? 00042 RRCF BARGB0, F
00000A B0D8 00043 BTFSC _C
00000C D??? 00044 bra LUM0808NAP
00000E 2E?? 00045 DECFSZ LOOPCOUNT, F
000010 D??? 00046 bra LOOPUM0808A
00047
000012 6A?? 00048 CLRF AARGB0
000014 0C00 00049 RETLW 0x00
00050
MPASM 5.20 P18MATH.ASM 5-28-2008 15:51:08 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000016 00051 LUM0808NAP
000016 90D8 00052 BCF _C
000018 D??? 00053 bra LUM0808NA
00054
00001A 00055 LOOPUM0808
00001A 32?? 00056 RRCF BARGB0, F
00001C B0D8 00057 BTFSC _C
00001E 26?? 00058 ADDWF AARGB0, F
000020 32?? 00059 LUM0808NA RRCF AARGB0, F
000022 32?? 00060 RRCF AARGB1, F
000024 2E?? 00061 DECFSZ LOOPCOUNT, F
000026 D??? 00062 bra LOOPUM0808
000028 0012 00063 return
0000 00064 GLOBAL UMUL0808L
00065 ;---------------- 16/8 UNSIGNED DIVIDE ------------------------
00066
00067 ; Max Timing: 2+7*12+11+3+7*24+23 = 291 clks
00068 ; Min Timing: 2+7*11+10+3+7*17+16 = 227 clks
00069 ; PM: 39 DM: 7
00070
00002A 00071 UDIV1608L
0000 00072 GLOBAL UDIV1608L
00002A 6A?? 00073 CLRF REMB0
00002C 0E08 00074 MOVLW 8
00002E 6E?? 00075 MOVWF LOOPCOUNT
00076
000030 34?? 00077 LOOPU1608A RLCF AARGB0,W
000032 36?? 00078 RLCF REMB0, F
000034 50?? 00079 MOVF BARGB0,W
000036 5E?? 00080 SUBWF REMB0, F
00081
000038 B0D8 00082 BTFSC _C
00003A D??? 00083 bra UOK68A
00003C 26?? 00084 ADDWF REMB0, F
00003E 90D8 00085 BCF _C
000040 36?? 00086 UOK68A RLCF AARGB0, F
00087
000042 2E?? 00088 DECFSZ LOOPCOUNT, F
000044 D??? 00089 bra LOOPU1608A
00090
000046 6A?? 00091 CLRF TEMP
00092
000048 0E08 00093 MOVLW 8
00004A 6E?? 00094 MOVWF LOOPCOUNT
00095
00004C 34?? 00096 LOOPU1608B RLCF AARGB1,W
00004E 36?? 00097 RLCF REMB0, F
000050 36?? 00098 RLCF TEMP, F
000052 50?? 00099 MOVF BARGB0,W
000054 5E?? 00100 SUBWF REMB0, F
000056 6A?? 00101 CLRF AARGB5
Warning[207]: Found label after column 1. (CLRW)
000058 00102 CLRW
MPASM 5.20 P18MATH.ASM 5-28-2008 15:51:08 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000058 A0D8 00103 BTFSS _C
00005A 3C?? 00104 INCFSZ AARGB5,W
00005C 5E?? 00105 SUBWF TEMP, F
00106
00005E B0D8 00107 BTFSC _C
000060 D??? 00108 bra UOK68B
000062 50?? 00109 MOVF BARGB0,W
000064 26?? 00110 ADDWF REMB0, F
000066 6A?? 00111 CLRF AARGB5
00112 ;CLRW
000068 B0D8 00113 BTFSC _C
00006A 3C?? 00114 INCFSZ AARGB5,W
00006C 26?? 00115 ADDWF TEMP, F
00116
00006E 90D8 00117 BCF _C
000070 36?? 00118 UOK68B RLCF AARGB1, F
00119
000072 2E?? 00120 DECFSZ LOOPCOUNT, F
000074 D??? 00121 bra LOOPU1608B
000076 0012 00122 return
0000 00123 GLOBAL UDIV1608L
00124
00125 end
MPASM 5.20 P18MATH.ASM 5-28-2008 15:51:08 PAGE 4
SYMBOL TABLE
LABEL VALUE
A 00000000
AARGB0 00000000
AARGB1 00000001
AARGB5 00000002
ACCESS 00000000
ACKDT 00000005
ACKEN 00000004
ACKSTAT 00000006
ADCON0 00000FC2
ADCON1 00000FC1
ADCS0 00000006
ADCS1 00000007
ADCS2 00000006
ADDEN 00000003
ADFM 00000007
ADIE 00000006
ADIF 00000006
ADIP 00000006
ADON 00000000
ADRESH 00000FC4
ADRESL 00000FC3
AN0 00000000
AN1 00000001
AN2 00000002
AN3 00000003
AN4 00000005
AN5 00000000
AN6 00000001
AN7 00000002
BANKED 00000001
BARGB0 00000003
BARGB1 00000004
BCLIE 00000003
BCLIF 00000003
BCLIP 00000003
BF 00000000
BOR 00000000
BRGH 00000002
BSR 00000FE0
C 00000000
CCP1 00000002
CCP1CON 00000FBD
CCP1IE 00000002
CCP1IF 00000002
CCP1IP 00000002
CCP1M0 00000000
CCP1M1 00000001
CCP1M2 00000002
CCP1M3 00000003
CCP1X 00000005
CCP1Y 00000004
CCP2 00000001
CCP2A 00000003
MPASM 5.20 P18MATH.ASM 5-28-2008 15:51:08 PAGE 5
SYMBOL TABLE
LABEL VALUE
CCP2CON 00000FBA
CCP2IE 00000000
CCP2IF 00000000
CCP2IP 00000000
CCP2M0 00000000
CCP2M1 00000001
CCP2M2 00000002
CCP2M3 00000003
CCP2X 00000005
CCP2Y 00000004
CCPR1H 00000FBF
CCPR1L 00000FBE
CCPR2H 00000FBC
CCPR2L 00000FBB
CFGS 00000006
CHS0 00000003
CHS1 00000004
CHS2 00000005
CK 00000006
CKE 00000006
CKP 00000004
CLKO 00000006
CLRW 00000058
CREN 00000004
CS 00000002
CSRC 00000007
D 00000005
DATA_ADDRESS 00000005
DC 00000001
DC1B0 00000004
DC1B1 00000005
DC2B0 00000004
DC2B1 00000005
DDRA TRISA
DDRB TRISB
DDRC TRISC
DDRD TRISD
DDRE TRISE
DONE 00000002
D_A 00000005
EEADR 00000FA9
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -