📄 pbp_interput2.lst
字号:
M if (PREV_BANK == 2)
M bsf STATUS, RP0
M endif
M PREV_BANK = 3
M endif
M if (low (001h) == 0)
M clrf PIE1
M else
0051 3001 M movlw low (001h)
0052 008C M movwf PIE1
M endif
00117
00118 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS 00018 on interrupt goto ChangeDisplay
00119 ONINT?LL _ChangeDisplay, L00001
0000 M local label
0053 178B M bsf INTCON, GIE
M L?GOTO label
M if ($ == (_25label))
M CLRWDT?
M endif
M
M RST?RP
M if ((PREV_BANK & 1) != 0)
0054 1283 M bcf STATUS, RP0
M endif
M if ((PREV_BANK & 2) != 0)
M bcf STATUS, RP1
M endif
00000000 M PREV_BANK = 0
M
M if ((_25label) < 1)
M if (CODE_SIZE >= 4)
M if (((_25label) & 800h) == 0)
M bcf PCLATH, 3
M else
M bsf PCLATH, 3
M endif
M endif
M if (CODE_SIZE == 8)
M if (((_25label) & 1000h) == 0)
M bcf PCLATH, 4
M else
M bsf PCLATH, 4
M endif
M endif
M else
MPASM 03.80 Released PBP_INTERPUT2.ASM 6-15-2008 11:45:37 PAGE 19
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
M if ((_25label) > $)
M if (CODE_SIZE >= 4)
M if (((_25label) & 800h) == 0)
0055 118A M bcf PCLATH, 3
M else
M bsf PCLATH, 3
M endif
M endif
M if (CODE_SIZE == 8)
M if (((_25label) & 1000h) == 0)
0056 120A M bcf PCLATH, 4
M else
M bsf PCLATH, 4
M endif
M endif
M else
M if (CODE_SIZE >= 4)
M if (((_25label) & 1800h) == 0)
M clrf PCLATH
M else
M if (((_25label) & 800h) == 0)
M bcf PCLATH, 3
M else
M bsf PCLATH, 3
M endif
M if (CODE_SIZE == 8)
M if (((_25label) & 1000h) == 0)
M bcf PCLATH, 4
M else
M bsf PCLATH, 4
M endif
M endif
M endif
M endif
M endif
M endif
M
0057 285D M goto _25label
0058 1B8B M L00001 btfsc INTCON, GIE
0059 0008 M return
M L?GOTO _ChangeDisplay
M if ($ == (_ChangeDisplay))
M CLRWDT?
M endif
M
M RST?RP
M if ((PREV_BANK & 1) != 0)
M bcf STATUS, RP0
M endif
M if ((PREV_BANK & 2) != 0)
M bcf STATUS, RP1
M endif
00000000 M PREV_BANK = 0
MPASM 03.80 Released PBP_INTERPUT2.ASM 6-15-2008 11:45:37 PAGE 20
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
M
M if ((_ChangeDisplay) < 1)
M if (CODE_SIZE >= 4)
M if (((_ChangeDisplay) & 800h) == 0)
M bcf PCLATH, 3
M else
M bsf PCLATH, 3
M endif
M endif
M if (CODE_SIZE == 8)
M if (((_ChangeDisplay) & 1000h) == 0)
M bcf PCLATH, 4
M else
M bsf PCLATH, 4
M endif
M endif
M else
M if ((_ChangeDisplay) > $)
M if (CODE_SIZE >= 4)
M if (((_ChangeDisplay) & 800h) == 0)
005A 118A M bcf PCLATH, 3
M else
M bsf PCLATH, 3
M endif
M endif
M if (CODE_SIZE == 8)
M if (((_ChangeDisplay) & 1000h) == 0)
005B 120A M bcf PCLATH, 4
M else
M bsf PCLATH, 4
M endif
M endif
M else
M if (CODE_SIZE >= 4)
M if (((_ChangeDisplay) & 1800h) == 0)
M clrf PCLATH
M else
M if (((_ChangeDisplay) & 800h) == 0)
M bcf PCLATH, 3
M else
M bsf PCLATH, 3
M endif
M if (CODE_SIZE == 8)
M if (((_ChangeDisplay) & 1000h) == 0)
M bcf PCLATH, 4
M else
M bsf PCLATH, 4
M endif
M endif
M endif
M endif
M endif
M endif
MPASM 03.80 Released PBP_INTERPUT2.ASM 6-15-2008 11:45:37 PAGE 21
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
M
005C 2866 M goto _ChangeDisplay
005D M label
00120
00121 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS 00020 loop:
00122
00123 LABEL?L _loop
M RST?RP
M if ((PREV_BANK & 1) != 0)
M bcf STATUS, RP0
M endif
M if ((PREV_BANK & 2) != 0)
M bcf STATUS, RP1
M endif
00000000 M PREV_BANK = 0
M ifdef PM_USED
M LALL
M _loop
M XALL
M else
005D M _loop
M endif
00124
00125 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS 00021 pause 1
00126 ICALL?L L00001
M L?CALL L00001
M RST?RP
M if ((PREV_BANK & 1) != 0)
M bcf STATUS, RP0
M endif
M if ((PREV_BANK & 2) != 0)
M bcf STATUS, RP1
M endif
00000000 M PREV_BANK = 0
M
M if ((L00001) < 1)
M if (CODE_SIZE >= 4)
M if (((L00001) & 800h) == 0)
M bcf PCLATH, 3
M else
M bsf PCLATH, 3
M endif
M endif
M if (CODE_SIZE == 8)
M if (((L00001) & 1000h) == 0)
M bcf PCLATH, 4
M else
M bsf PCLATH, 4
M endif
M endif
M else
M if ((L00001) > $)
M if (CODE_SIZE >= 4)
MPASM 03.80 Released PBP_INTERPUT2.ASM 6-15-2008 11:45:37 PAGE 22
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
M if (((L00001) & 800h) == 0)
M bcf PCLATH, 3
M else
M bsf PCLATH, 3
M endif
M endif
M if (CODE_SIZE == 8)
M if (((L00001) & 1000h) == 0)
M bcf PCLATH, 4
M else
M bsf PCLATH, 4
M endif
M endif
M else
M if (CODE_SIZE >= 4)
M if (((L00001) & 1800h) == 0)
005D 018A M clrf PCLATH
M else
M if (((L00001) & 800h) == 0)
M bcf PCLATH, 3
M else
M bsf PCLATH, 3
M endif
M
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -