📄 clock.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-88888 Tue Oct 2 19:10:16 2007
Licensed to: ONE TWO
1 processor 16F877A
2 opt pw 79
3 psect __Z88888RS_,global,delta=1
4 psect text1,local,class=CODE,delta=2
5 psect intcode,global,class=CODE,delta=2
6 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
7 psect intret,global,class=CODE,delta=2
8 psect intentry,global,class=CODE,delta=2
9 psect intsave,global,class=BANK0,space=1,delta
+ =1
10 psect text2,local,class=CODE,delta=2
11 psect text6,local,class=CODE,delta=2
12 psect strings,global,class=STRING,delta=2
13 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
14 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
15 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26
27 psect __Z88888RS_
28 0190
29 0190
30
31 psect intcode
32 0015 _TMR1_INT
33 0015 int_func
34 ;clock.c: 75: if (TMR1IF&&TMR1IE)
35 0015 0183 clrf 3 ;select bank 0
36 0016 1C0C btfss 12,0
37 0017 2826 goto l2
38 0018 1683 bsf 3,5
39 0019 1C0C btfss 12,0
40 001A 2826 goto l2
41 ;clock.c: 76: {
42 ;clock.c: 78: TMR1IF=0;
43 001B 1283 bcf 3,5
44 001C 100C bcf 12,0
45 ;clock.c: 79: TMR1H=216;
46 001D 30D8 movlw -40
47 001E 008F movwf 15 ;volatile
48 ;clock.c: 80: TMR1ON=1;
49 001F 1410 bsf 16,0
50 ;clock.c: 81: ReadKey();
51 0020 120A 118A 2387 fcall _ReadKey
+ 120A 118A
52 ;clock.c: 82: DelayTimer++;
53 0025 0AA2 incf _DelayTimer
54 ;clock.c: 83: }
55 ;clock.c: 84: }
56 0026 l2
57 0026 1303 bcf 3,6 ;carry unused
58 0027 1283 bcf 3,5
59
60 psect intsave_0
61 0072 saved_w
62 0072 ds 1
63
64 psect intret
65 0030 0851 movf saved_fsr,w
66 0031 0084 movwf 4 ;restore FSR
67 0032 0852 movf saved_pclath,w
68 0033 008A movwf 10
69 0034 int_restore
70 0034 0850 movf saved_status,w
71 0035 0083 movwf 3
72 0036 0EF2 swapf saved_w
73 0037 0E72 swapf saved_w,w
74 0038 0009 retfie
75
76 psect intentry
77 0004 int_entry
78 0004 00F2 movwf saved_w
79 0005 0803 movf 3,w
80 0006 0183 clrf 3
81 0007 00D0 movwf saved_status
82 0008 0804 movf 4,w
83 0009 00D1 movwf saved_fsr
84 000A 080A movf 10,w
85 000B 00D2 movwf saved_pclath
86 000C 018A clrf 10
87
88 psect intsave
89 0050 saved_status
90 0050 ds 1
91 0051 saved_fsr
92 0051 ds 1
93 0052 saved_pclath
94 0052 ds 1
95
96 psect text2
97 ;clock.c: 87: void ReadKey(void)
98 ;clock.c: 89: {
99 0387 _ReadKey
100 ;clock.c: 90: Menu_Value<<=1;
101 0387 1003 bcf 3,0
102 0388 1283 bcf 3,5
103 0389 1303 bcf 3,6 ;carry unused
104 038A 0DA5 rlf _Menu_Value
105 ;clock.c: 91: if (RB3==0) Menu_Value=Menu_Value
+ |0x01;
106 038B 1D86 btfss 6,3
107 038C 1425 bsf _Menu_Value,0
108 ;clock.c: 92: Menu_Value=Menu_Value&0x07;
109 038D 3007 movlw 7
110 038E 05A5 andwf _Menu_Value
111 ;clock.c: 93: if (Menu_Value==0x07) Menu=1;
112 038F 0825 movf _Menu_Value,w
113 0390 3A07 xorlw 7
114 0391 1D03 btfss 3,2
115 0392 2B95 goto l6
116 0393 1720 bsf _Menu/(0+8),_Menu& (0+7)
117 ;clock.c: 94: else if (Menu_Value==0x00) Menu=0
+ ,Menu_USED=0;
118 0394 2B9A goto l7
119 0395 l6
120 0395 08A5 movf _Menu_Value
121 0396 1D03 btfss 3,2
122 0397 2B9A goto l7
123 0398 1320 bcf _Menu/(0+8),_Menu& (0+7)
124 0399 13A0 bcf _Menu_USED/(0+8),_Menu_USED& (0+7)
125 ;clock.c: 96: Up_Value<<=1;
126 039A l7
127 039A 1003 bcf 3,0
128 039B 1283 bcf 3,5
129 039C 1303 bcf 3,6 ;carry unused
130 039D 0DA7 rlf _Up_Value
131 ;clock.c: 97: if (RB4==0) Up_Value=Up_Value|0x0
+ 1;
132 039E 1E06 btfss 6,4
133 039F 1427 bsf _Up_Value,0
134 ;clock.c: 98: Up_Value=Up_Value&0x07;
135 03A0 3007 movlw 7
136 03A1 05A7 andwf _Up_Value
137 ;clock.c: 99: if (Up_Value==0x07) Up=1;
138 03A2 0827 movf _Up_Value,w
139 03A3 3A07 xorlw 7
140 03A4 1D03 btfss 3,2
141 03A5 2BA8 goto l10
142 03A6 1421 bsf _Up/(0+8),_Up& (0+7)
143 ;clock.c: 100: else if (Up_Value==0x00) Up=0,Up
+ _USED=0;
144 03A7 2BAD goto l11
145 03A8 l10
146 03A8 08A7 movf _Up_Value
147 03A9 1D03 btfss 3,2
148 03AA 2BAD goto l11
149 03AB 1021 bcf _Up/(0+8),_Up& (0+7)
150 03AC 10A1 bcf _Up_USED/(0+8),_Up_USED& (0+7)
151 ;clock.c: 102: Down_Value<<=1;
152 03AD l11
153 03AD 1003 bcf 3,0
154 03AE 1283 bcf 3,5
155 03AF 1303 bcf 3,6 ;carry unused
156 03B0 0DA3 rlf _Down_Value
157 ;clock.c: 103: if (RB5==0) Down_Value=Down_Valu
+ e|0x01;
158 03B1 1E86 btfss 6,5
159 03B2 1423 bsf _Down_Value,0
160 ;clock.c: 104: Down_Value=Down_Value&0x07;
161 03B3 3007 movlw 7
162 03B4 05A3 andwf _Down_Value
163 ;clock.c: 105: if (Down_Value==0x07) Down=1;
164 03B5 0823 movf _Down_Value,w
165 03B6 3A07 xorlw 7
166 03B7 1D03 btfss 3,2
167 03B8 2BBB goto l14
168 03B9 14A0 bsf _Down/(0+8),_Down& (0+7)
169 ;clock.c: 106: else if (Down_Value==0x00) Down=
+ 0,Down_USED=0;
170 03BA 2BC0 goto l15
171 03BB l14
172 03BB 08A3 movf _Down_Value
173 03BC 1D03 btfss 3,2
174 03BD 2BC0 goto l15
175 03BE 10A0 bcf _Down/(0+8),_Down& (0+7)
176 03BF 1120 bcf _Down_USED/(0+8),_Down_USED& (0+7)
177 ;clock.c: 108: Human_Value<<=1;
178 03C0 l15
179 03C0 1003 bcf 3,0
180 03C1 1283 bcf 3,5
181 03C2 1303 bcf 3,6 ;carry unused
182 03C3 0DA4 rlf _Human_Value
183 ;clock.c: 109: if (RB2==1) Human_Value=Human_Va
+ lue|0x01;
184 03C4 1906 btfsc 6,2
185 03C5 1424 bsf _Human_Value,0
186 ;clock.c: 110: Human_Value=Human_Value&0x07;
187 03C6 3007 movlw 7
188 03C7 05A4 andwf _Human_Value
189 ;clock.c: 111: if (Human_Value==0x07) Human=1;
190 03C8 0824 movf _Human_Value,w
191 03C9 3A07 xorlw 7
192 03CA 1D03 btfss 3,2
193 03CB 2BCE goto l18
194 03CC 15A0 bsf _Human/(0+8),_Human& (0+7)
195 ;clock.c: 112: else if (Human_Value==0x00) Huma
+ n=0,Human_USED=0;
196 03CD 0008 return
197 03CE l18
198 03CE 08A4 movf _Human_Value
199 03CF 1D03 btfss 3,2
200 03D0 0008 return
201 03D1 11A0 bcf _Human/(0+8),_Human& (0+7)
202 03D2 1220 bcf _Human_USED/(0+8),_Human_USED& (0+7)
203 ;clock.c: 113: }
204 03D3 0008 return
205
206 psect text6
207 ;clock.c: 255: void task1(void)
208 ;clock.c: 257: {
209 045C _task1
210 ;clock.c: 258: RB1=0;
211 045C 0183 clrf 3 ;select bank 0
212 045D 1086 bcf 6,1
213 ;clock.c: 259: lcd_goto(0x80);
214 045E 3080 movlw -128
215 045F 120A 118A 2416 fcall _lcd_goto
216 ;clock.c: 260: lcd_puts(" rectify menu ");
217 0462 3056 movlw low (((packed_strings shl (0+1)+90))| (0
+ +16384))
218 0463 00CC movwf ?_lcd_puts
219 0464 3041 movlw high (((packed_strings shl (0+1)+90))| (
+ 0+16384))
220 0465 00CD movwf ?_lcd_puts+1
221 0466 120A 118A 23F6 fcall _lcd_puts
222 ;clock.c: 261: lcd_goto(0xc0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -