📄 timin.lst
字号:
007D 1403 00133 BSF STATUS,C ; get ready to subtract
Message[305]: Using default destination of 1 (file).
007E 02A1 00134 SUBWF Lobyte ; sub from low byte
007F 1803 00135 BTFSC STATUS,C ; borrow required?
0080 2889 00136 GOTO sub03 ; no - do high byte
00137
0081 08A0 00138 MOVF Hibyte,F ; yes - check high byte
0082 1D03 00139 BTFSS STATUS,Z ; zero?
MPASM 03.70.01 Released TIMIN.ASM 3-27-2006 15:47:27 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0083 2888 00140 GOTO take2 ; no - take borrow
00141
0084 30E8 00142 MOVLW 0E8 ; load low byte to add
0085 1003 00143 BCF STATUS,C ; get ready to add
Message[305]: Using default destination of 1 (file).
0086 07A1 00144 ADDWF Lobyte ; restore low byte
0087 2897 00145 GOTO sub64 ; next digit
00146
Message[305]: Using default destination of 1 (file).
0088 03A0 00147 take2 DECF Hibyte ; take borrow
00148
0089 3003 00149 sub03 MOVLW 03 ; get high byte
008A 1403 00150 BSF STATUS,C ; get ready to subtract
Message[305]: Using default destination of 1 (file).
008B 02A0 00151 SUBWF Hibyte ; sub from high byte
008C 1C03 00152 BTFSS STATUS,C ; borrow taken?
008D 2890 00153 GOTO done2 ; yes - restore high byte
Message[305]: Using default destination of 1 (file).
008E 0AA3 00154 INCF Thous ; no - count ten thousand
008F 287C 00155 GOTO subE8 ; sub 1000 again
00156
0090 30E8 00157 done2 MOVLW 0E8 ; restore..
0091 1003 00158 BCF STATUS,C ; get ready to add
Message[305]: Using default destination of 1 (file).
0092 07A1 00159 ADDWF Lobyte ; restore low byte
0093 1803 00160 BTFSC STATUS,C ; Carry into high byte?
Message[305]: Using default destination of 1 (file).
0094 0AA0 00161 INCF Hibyte ; yes - add carry to high byte
0095 3003 00162 MOVLW 03 ; restore..
Message[305]: Using default destination of 1 (file).
0096 07A0 00163 ADDWF Hibyte ; ..high byte
00164
00165
00166
00167 ; Subtract 100d (064h) and count.................................
00168
0097 3064 00169 sub64 MOVLW 064 ; get low byte
0098 1403 00170 BSF STATUS,C ; get ready to subtract
Message[305]: Using default destination of 1 (file).
0099 02A1 00171 SUBWF Lobyte ; sub from low byte
009A 1803 00172 BTFSC STATUS,C ; borrow required?
009B 28A4 00173 GOTO inchun ; no - inc count
00174
009C 08A0 00175 MOVF Hibyte,F ; yes - check high byte
009D 1D03 00176 BTFSS STATUS,Z ; zero?
009E 28A3 00177 GOTO take3 ; no - take borrow
00178
009F 3064 00179 MOVLW 064 ; load low byte to add
00A0 1003 00180 BCF STATUS,C ; get ready to add
Message[305]: Using default destination of 1 (file).
00A1 07A1 00181 ADDWF Lobyte ; restore low byte
00A2 28A6 00182 GOTO subA ; next digit
00183
MPASM 03.70.01 Released TIMIN.ASM 3-27-2006 15:47:27 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
Message[305]: Using default destination of 1 (file).
00A3 03A0 00184 take3 DECF Hibyte ; take borrow
00185
Message[305]: Using default destination of 1 (file).
00A4 0AA4 00186 inchun INCF Hunds ; count hundred
00A5 2897 00187 GOTO sub64 ; sub 100 again
00188
00189
00190 ; Subtract 10d (0Ah) and count, leaving remainder.................
00191
00A6 300A 00192 subA MOVLW 0A ; get low byte to sub
00A7 1403 00193 BSF STATUS,C ; get ready to subtract
Message[305]: Using default destination of 1 (file).
00A8 02A1 00194 SUBWF Lobyte ; sub from low byte
00A9 1C03 00195 BTFSS STATUS,C ; borrow required?
00AA 28AD 00196 GOTO rest4 ; yes - restore byte
Message[305]: Using default destination of 1 (file).
00AB 0AA5 00197 INCF Tens ; no - count one hundred
00AC 28A6 00198 GOTO subA ; and repeat
00199
Message[305]: Using default destination of 1 (file).
00AD 07A1 00200 rest4 ADDWF Lobyte ; restore low byte
00AE 0821 00201 MOVF Lobyte,W ; copy remainder..
00AF 00A6 00202 MOVWF Ones ; to ones register
00203
00B0 0008 00204 RETURN ; done
00205
00206 ;---------------------------------------------------------------
00207 ; Display period in microseconds
00208 ;---------------------------------------------------------------
00209
00B1 14F4 00210 disp BSF Select,RS ; Set display data mode
00211
00B2 3054 00212 MOVLW 'T' ; Time period
00B3 2028 00213 CALL send ; Display it
00B4 3020 00214 MOVLW ' ' ; Space
00B5 2028 00215 CALL send ; Display it
00B6 303D 00216 MOVLW '=' ; Equals
00B7 2028 00217 CALL send ; Display it
00B8 3020 00218 MOVLW ' ' ; Space
00B9 2028 00219 CALL send ; Display it
00220
00221 ; Supress leading zeros.........................................
00222
00BA 08A2 00223 MOVF Tents,F ; Check digit
00BB 1D03 00224 BTFSS STATUS,Z ; zero?
00BC 28C9 00225 GOTO show1 ; no - show it
00226
00BD 08A3 00227 MOVF Thous,F ; Check digit
00BE 1D03 00228 BTFSS STATUS,Z ; zero?
00BF 28CC 00229 GOTO show2 ; no - show it
00230
00C0 08A4 00231 MOVF Hunds,F ; Check digit
MPASM 03.70.01 Released TIMIN.ASM 3-27-2006 15:47:27 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00C1 1D03 00232 BTFSS STATUS,Z ; zero?
00C2 28CF 00233 GOTO show3 ; no - show it
00234
00C3 08A5 00235 MOVF Tens,F ; Check digit
00C4 1D03 00236 BTFSS STATUS,Z ; zero?
00C5 28D2 00237 GOTO show4 ; no - show it
00238
00C6 08A6 00239 MOVF Ones,F ; Check digit
00C7 1D03 00240 BTFSS STATUS,Z ; zero?
00C8 28D5 00241 GOTO show5 ; no - show it
00242
00243 ; Display digits of period.....................................
00244
00C9 3030 00245 show1 MOVLW 030 ; Load ASCII offset
00CA 0722 00246 ADDWF Tents,W ; Add digit value
00CB 2028 00247 CALL send ; Display it
00248
00CC 3030 00249 show2 MOVLW 030 ; Load ASCII offset
00CD 0723 00250 ADDWF Thous,W ; Add digit value
00CE 2028 00251 CALL send ; Display it
00252
00CF 3030 00253 show3 MOVLW 030 ; Load ASCII offset
00D0 0724 00254 ADDWF Hunds,W ; Add digit value
00D1 2028 00255 CALL send ; Display it
00256
00D2 3030 00257 show4 MOVLW 030 ; Load ASCII offset
00D3 0725 00258 ADDWF Tens,W ; Add digit value
00D4 2028 00259 CALL send ; Display it
00260
00D5 3030 00261 show5 MOVLW 030 ; Load ASCII offset
00D6 0726 00262 ADDWF Ones,W ; Add digit value
00D7 2028 00263 CALL send ; Display it
00264
00265 ; Show fixed characters.........................................
00266
00D8 3020 00267 MOVLW ' ' ; Space
00D9 2028 00268 CALL send ; Display it
00DA 3075 00269 MOVLW 'u' ; micro
00DB 2028 00270 CALL send ; Display it
00DC 3073 00271 MOVLW 's' ; secs
00DD 2028 00272 CALL send ; Display it
00DE 3020 00273 MOVLW ' ' ; Space
00DF 2028 00274 CALL send ; Display it
00E0 3020 00275 MOVLW ' ' ; Space
00E1 2028 00276 CALL send ; Display it
00277
00278 ; Home cursor .................................................
00279
00E2 10F4 00280 BCF Select,RS ; Set display command mode
00E3 3080 00281 MOVLW 0x80 ; Code to home cursor
00E4 2028 00282 CALL send ; Do it
00E5 0008 00283 RETURN ; done
00284
MPASM 03.70.01 Released TIMIN.ASM 3-27-2006 15:47:27 PAGE 9
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00285 ;---------------------------------------------------------------
00286 ; MAIN LOOP
00287 ;---------------------------------------------------------------
00E6 2038 00288 start CALL inid ; Initialise display
00E7 1683 1303 00289 BANKSEL PIE1 ; Select Bank 1
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
00E9 150C 00290 BSF PIE1,CCP1IE ; Enable capture interrupt
00EA 1283 1303 00291 BANKSEL PORTD ; Select Bank 0
00EC 110C 00292 BCF PIR1,CCP1IF ; Clear CCP1 interrupt flag
00293
00ED 2053 00294 loop CALL conv ; Convert 16 bits to 5 digits
00EE 20B1 00295 CALL disp ; Display period in microsecs
00EF 28ED 00296 GOTO loop
00297
00298 END ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MPASM 03.70.01 Released TIMIN.ASM 3-27-2006 15:47:27 PAGE 10
SYMBOL TABLE
LABEL VALUE
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
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
CIS 00000003
CKE 00000006
CKP 00000004
CM0 00000000
CM1 00000001
MPASM 03.70.01 Released TIMIN.ASM 3-27-2006 15:47:27 PAGE 11
SYMBOL TABLE
LABEL VALUE
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -