📄 os_18c801_a.lst
字号:
00308
00309 ;OSPrioCur=OSPrioHighRdy;
000156 C??? F??? 00310 movff OSPrioHighRdy,OSPrioCur
00311
00015A 00312 LoadHdStack:
00015A 0E?? 00313 movlw high StackDepth
00015C 6EEA 00314 movwf FSR0H,0
00015E 0E?? 00315 movlw low StackDepth
000160 2500 00316 addwf OSPrioCur,0x00,1
000162 2500 00317 addwf OSPrioCur,0x00,1
000164 6EE9 00318 movwf FSR0L,0 ;FSR0--> Hardware_Stack_Depth
00319
000166 9EF2 00320 bcf INTCON,GIEH,0
000168 00321 HdStkFromExtRAM:
000168 2AFC 00322 incf STKPTR,0x01,0 ;STKPTR++
00016A 0009 00323 tblrd*+
00016C 50F5 00324 movf TABLAT,0x00,0
00016E 6EFD 00325 movwf TOSL,0
000170 0009 00326 tblrd*+
000172 50F5 00327 movf TABLAT,0x00,0
000174 6EFE 00328 movwf TOSH,0
000176 0009 00329 tblrd*+
000178 50F5 00330 movf TABLAT,0x00,0
00017A 6EFF 00331 movwf TOSU,0
00017C 06EF 00332 decf INDF0,0x01,0 ;"Z" of STATUS is affected.
00017E E1?? 00333 bnz HdStkFromExtRAM
000180 8EF2 00334 bsf INTCON,GIEH,0
00335
00336
MPASM 03.50 Released OS_18C801_A.ASM 7-16-2003 20:27:32 PAGE 10
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000182 00337 LoadSoftStack:
000182 CFE7 FFF8 00338 movff INDF1,TBLPTRU ;FSR1 is 1-byte higher than originally value after this line
000186 CFF4 FFF7 00339 movff PRODH,TBLPTRH
00018A CFF3 FFF6 00340 movff PRODL,TBLPTRL
00018E 0E60 00341 movlw EXT_SOFT_STK_SHIFT
000190 26F6 00342 addwf TBLPTRL,0x01,0
000192 0E00 00343 movlw 0x00
000194 22F7 00344 addwfc TBLPTRH,0x01,0
000196 22F8 00345 addwfc TBLPTRU,0x01,0
00346
000198 52EE 00347 movf POSTINC0,0x01,0 ;FSR0++,-->soft_depth
00019A 50EF 00348 movf INDF0,0x00,0 ;software stack depth ;[(OSSysStkBase),(OSSysStkBase+1
),......(TABLAT)]
00019C C??? FFD9 00349 movff OSSysStkBase,FSR2L ;OSSysStkBase-->WREG
0001A0 CFE2 FFDA 00350 movff FSR1H,FSR2H
0001A4 00351 SfStkFromExtRAM:
0001A4 0009 00352 tblrd*+
0001A6 CFF5 FFDE 00353 movff TABLAT,POSTINC2
0001AA 04E8 00354 decf WREG,0x00,0
0001AC E1?? 00355 bnz SfStkFromExtRAM
0001AE 00356 PopupSFR:
0001AE CFD9 FFE1 00357 movff FSR2L,FSR1L ;FSR2H=FSR1H already
00358 lpop_all
0001B2 52E5 M movf POSTDEC1,0x01,0 ;FSR1L--
0001B4 6AEA M clrf FSR0H,0
0001B6 0E37 M movlw SAVE_BANK0_PUSH_END
0001B8 6EE9 M movwf FSR0L,0
0001BA 0E37 M movlw SAVE_BANK0_PUSH_NUM-1 ;except the last,to avoid under-stack
0001BC M IntPopRegsInBank0:
0001BC CFE5 FFED M movff POSTDEC1,POSTDEC0
0001C0 04E8 M decf WREG,0
0001C2 E1?? M bnz IntPopRegsInBank0
0001C4 CFE5 FFEF M movff POSTDEC1,INDF0
M ;
0001C8 CFE5 FFFB M movff POSTDEC1,PCLATU ;PCLATU
0001CC CFE5 FFFA M movff POSTDEC1,PCLATH ;PCLATH
0001D0 CFE5 FFF5 M movff POSTDEC1,TABLAT
0001D4 CFE5 FFF6 M movff POSTDEC1,TBLPTRL
0001D8 CFE5 FFF7 M movff POSTDEC1,TBLPTRH
0001DC CFE5 FFF8 M movff POSTDEC1,TBLPTRU
0001E0 CFE5 FFF3 M movff POSTDEC1,PRODL
0001E4 CFE5 FFF4 M movff POSTDEC1,PRODH
0001E8 CFE5 FFE9 M movff POSTDEC1,FSR0L
0001EC CFE5 FFEA M movff POSTDEC1,FSR0H
0001F0 CFE5 FFD9 M movff POSTDEC1,FSR2L
0001F4 CFE5 FFDA M movff POSTDEC1,FSR2H
0001F8 50E5 M movf POSTDEC1,0x00,0
0001FA CFE5 FFE0 M movff POSTDEC1,BSR
0001FE CFE5 FFD8 M movff POSTDEC1,STATUS
000202 0010 00359 retfie 0
00360 ;End of function "OSCtxSw()"
00361 ;=================================================================================================
00362
MPASM 03.50 Released OS_18C801_A.ASM 7-16-2003 20:27:32 PAGE 11
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000204 00363 OSIntCtxSw
000204 0006 00364 pop
000206 0006 00365 pop
000208 EF?? F??? 00366 goto GetExtStackAddr ;Jump into the OSCtxSw() function
00020C 0010 00367 retfie 0
00368 ;=======================================================================================================
===
00369
00370 END
MPASM 03.50 Released OS_18C801_A.ASM 7-16-2003 20:27:32 PAGE 12
SYMBOL TABLE
LABEL VALUE
A 00000000
A16 00000000
A17 00000001
A18 00000002
A19 00000003
ACCESS 00000000
ACKDT 00000005
ACKEN 00000004
ACKSTAT 00000006
AD0 00000000
AD1 00000001
AD10 00000002
AD11 00000003
AD12 00000004
AD13 00000005
AD14 00000006
AD15 00000007
AD2 00000002
AD3 00000003
AD4 00000004
AD5 00000005
AD6 00000006
AD7 00000007
AD8 00000000
AD9 00000001
ADCON0 00000FC2
ADCON1 00000FC1
ADCON2 00000FC0
ADCS0 00000000
ADCS1 00000001
ADCS2 00000002
ADEN 00000003
ADFM 00000007
ADIE 00000006
ADIF 00000006
ADIP 00000006
ADON 00000000
ADRESH 00000FC4
ADRESL 00000FC3
ALE 00000000
AN0 00000000
AN1 00000001
AN10 00000006
AN11 00000007
AN2 00000002
AN3 00000003
AN4 00000005
AN5 00000000
AN6 00000001
AN7 00000002
AN8 00000004
AN9 00000005
BA0 00000004
MPASM 03.50 Released OS_18C801_A.ASM 7-16-2003 20:27:32 PAGE 13
SYMBOL TABLE
LABEL VALUE
BANKED 00000001
BCLIE 00000003
BCLIF 00000003
BCLIP 00000003
BF 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 00000003
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
CHS0 00000002
CHS1 00000003
CHS2 00000004
CHS3 00000005
CK 00000006
CKE 00000006
CKP 00000004
CLRW CLRF WREG
CMLK0 00000000
CMLK1 00000001
CREN 00000004
CS1 00000005
CS2 00000004
CSEL2 00000FA7
CSELIO 00000FA6
CSIO 00000003
CSRC 00000007
ChangeCurrentTask 0000011C
D 00000005
MPASM 03.50 Released OS_18C801_A.ASM 7-16-2003 20:27:32 PAGE 14
SYMBOL TABLE
LABEL VALUE
D0 00000000
D1 00000001
D2 00000002
D3 00000003
D4 00000004
D5 00000005
D6 00000006
D7 00000007
DATA_ADDRESS 00000005
DC 00000001
DC1B0 00000004
DC1B1 00000005
DC2B0 00000004
DC2B1 00000005
DCCPX 00000005
DDRA TRISA
DDRB TRISB
DDRC TRISC
DDRD TRISD
DDRE TRISE
DDRF 00000F97
DDRG 00000F98
DDRH 00000F99
DDRJ 00000F9A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -