📄 main.lst
字号:
HI-TECH Software PICC Macro Assembler V9.50PL2
Thu Mar 22 17:03:44 2007
1 processor 16F917
2 opt pw 79
3 psect text0,local,class=CODE,delta=2
4 psect config,global,class=CONFIG,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 text3,local,class=CODE,delta=2
11 psect text5,local,class=CODE,delta=2
12 psect text13,local,class=CODE,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 config
28 2007 30D4 dw 12500 ;#
29
30 psect intcode
31 000B _ISR
32 000B int_func
33 ;main.c: 73: void interrupt ISR(void){
34 000B 0183 clrf 3 ;select bank 0
35 000C 1C0C btfss 12,0
36 000D 2829 goto l2
37 000E 1683 bsf 3,5
38 000F 1C0C btfss 12,0
39 0010 2829 goto l2
40 ;main.c: 75: timeFlag = 1;
41 0011 1283 bcf 3,5
42 0012 1420 bsf _timeFlag/(0+8),_timeFlag& (0+7)
43 ;main.c: 76: TMR1IF = 0;
44 0013 100C bcf 12,0
45 ;main.c: 77: TMR1H =+ 0x80;
46 0014 3080 movlw -128
47 0015 008F movwf 15 ;volatile
48 ;main.c: 78: seconds++;
49 0016 0AA8 incf _seconds
50 ;main.c: 79: if (seconds > 60){
51 0017 303D movlw 61
52 0018 0228 subwf _seconds,w
53 0019 1C03 btfss 3,0
54 001A 2829 goto l2
55 ;main.c: 80: minutes++;
56 001B 0AA5 incf _minutes
57 ;main.c: 81: seconds = 0;
58 001C 01A8 clrf _seconds
59 ;main.c: 82: if (minutes > 60){
60 001D 303D movlw 61
61 001E 0225 subwf _minutes,w
62 001F 1C03 btfss 3,0
63 0020 2829 goto l2
64 ;main.c: 83: hours++;
65 0021 0AA4 incf _hours
66 ;main.c: 84: minutes = 0;
67 0022 01A5 clrf _minutes
68 ;main.c: 85: if (hours >12){
69 0023 300D movlw 13
70 0024 0224 subwf _hours,w
71 0025 1C03 btfss 3,0
72 0026 2829 goto l2
73 ;main.c: 86: hours = 1;
74 0027 01A4 clrf _hours
75 0028 0AA4 incf _hours
76 0029 l2
77 ;main.c: 87: }
78 0029 180B btfsc 11,0
79 002A 1D8B btfss 11,3
80 002B 2838 goto l1
81 ;main.c: 93: SW1 = 0;
82 002C 1283 bcf 3,5
83 002D 01A2 clrf _SW1
84 ;main.c: 94: SW2 = 0;
85 002E 01A3 clrf _SW2
86 ;main.c: 96: if(RB6==0){SW1=1;}
87 002F 1B06 btfsc 6,6
88 0030 2833 goto l7
89 0031 01A2 clrf _SW1
90 0032 0AA2 incf _SW1
91 0033 l7
92 ;main.c: 97: if(RB7==0){SW2=1;}
93 0033 1B86 btfsc 6,7
94 0034 2837 goto l8
95 0035 01A3 clrf _SW2
96 0036 0AA3 incf _SW2
97 0037 l8
98 ;main.c: 99: RBIF = 0;
99 0037 100B bcf 11,0
100 ;main.c: 101: }
101 0038 l1
102 0038 1303 bcf 3,6 ;carry unused
103 0039 1283 bcf 3,5
104
105 psect intsave_0
106 0077 saved_w
107 0077 ds 1
108
109 psect intret
110 003A 0834 movf saved_pclath,w
111 003B 008A movwf 10
112 003C int_restore
113 003C 0833 movf saved_status,w
114 003D 0083 movwf 3
115 003E 0EF7 swapf saved_w
116 003F 0E77 swapf saved_w,w
117 0040 0009 retfie
118
119 psect intentry
120 0004 int_entry
121 0004 00F7 movwf saved_w
122 0005 0803 movf 3,w
123 0006 0183 clrf 3
124 0007 00B3 movwf saved_status
125 0008 080A movf 10,w
126 0009 00B4 movwf saved_pclath
127 000A 018A clrf 10
128
129 psect intsave
130 0033 saved_status
131 0033 ds 1
132 0034 saved_pclath
133 0034 ds 1
134
135 psect text3
136 01F8 _displayNumber
137 ; _Position assigned to ?a_displayNumber+0
138 0000 _displayNumber$Position set ?a_displayNumber
139 ;_Position stored from w
140 01F8 0183 clrf 3 ;select bank 0
141 01F9 00B2 movwf ?a_displayNumber
142 ;main.c: 245: void displayNumber(unsigned char
+ Position, unsigned char Number){
143 01FA 2BA4 goto l34
144 01FB l35
145 ;main.c: 248: case 1:
146 ;main.c: 249: SEG19COM0 = SEG20COM0 = SEG20COM1
+ = SEG20COM2 = SEG19COM1 = SEG19COM3 = SEG20COM
+ 3 = 0;
147 01FB 1703 bsf 3,6
148 01FC 121B bcf 27,4
149 01FD 119B bcf 27,3
150 01FE 1195 bcf 21,3
151 01FF 1218 bcf 24,4
152 0200 1215 bcf 21,4
153 0201 1212 bcf 18,4
154 0202 1192 bcf 18,3
155 ;main.c: 250: switch(Number){
156 0203 2A34 goto l37
157 0204 l38
158 ;main.c: 251: case 1:
159 ;main.c: 252: SEG20COM0 = SEG20COM1 = 1;
160 0204 1703 bsf 3,6
161 0205 1615 bsf 21,4
162 0206 1612 bsf 18,4
163 ;main.c: 253: break;
164 0207 2BB6 goto l33
165 0208 l39
166 ;main.c: 254: case 2:
167 ;main.c: 255: SEG19COM0 = SEG20COM0 = SEG20COM3
+ = SEG19COM1 = SEG20COM2 = 1;
168 0208 1703 bsf 3,6
169 0209 1618 bsf 24,4
170 020A 1595 bsf 21,3
171 020B 2A0F goto L1
172 ;main.c: 256: break;
173 020C l40
174 ;main.c: 257: case 3:
175 ;main.c: 258: SEG19COM0 = SEG20COM0 = SEG20COM3
+ = SEG20COM1 = SEG20COM2 = 1;
176 020C 1703 bsf 3,6
177 020D 1618 bsf 24,4
178 020E 1615 bsf 21,4
179 020F L1
180 020F 161B bsf 27,4
181 0210 2A31 goto L41
182 ;main.c: 259: break;
183 0211 l41
184 ;main.c: 260: case 4:
185 ;main.c: 261: SEG19COM3 = SEG20COM3 = SEG20COM0
+ = SEG20COM1 = 1;
186 0211 1703 bsf 3,6
187 0212 1615 bsf 21,4
188 0213 1612 bsf 18,4
189 0214 161B bsf 27,4
190 0215 159B bsf 27,3
191 ;main.c: 262: break;
192 0216 2BB6 goto l33
193 0217 l42
194 ;main.c: 263: case 5:
195 ;main.c: 264: SEG19COM0 = SEG19COM3 = SEG20COM3
+ = SEG20COM1 = SEG20COM2 = 1;
196 0217 1703 bsf 3,6
197 0218 1618 bsf 24,4
198 0219 1615 bsf 21,4
199 021A 161B bsf 27,4
200 021B 2A21 goto L42
201 ;main.c: 265: break;
202 021C l43
203 ;main.c: 266: case 6:
204 ;main.c: 267: SEG19COM0 = SEG19COM3 = SEG19COM1
+ = SEG20COM2 = SEG20COM1 = SEG20COM3 = 1;
205 021C 1703 bsf 3,6
206 021D 161B bsf 27,4
207 021E 1615 bsf 21,4
208 021F 1618 bsf 24,4
209 0220 1595 bsf 21,3
210 0221 L42
211 0221 159B bsf 27,3
212 0222 2A32 goto L7
213 ;main.c: 268: break;
214 0223 l44
215 ;main.c: 269: case 7:
216 ;main.c: 270: SEG19COM0 = SEG20COM0 = SEG20COM1
+ = 1;
217 0223 1703 bsf 3,6
218 0224 2A30 goto L36
219 ;main.c: 271: break;
220 0225 l45
221 ;main.c: 272: case 8:
222 ;main.c: 273: SEG19COM0 = SEG20COM0 = SEG20COM1
+ = SEG20COM2 = SEG19COM1 = SEG19COM3 = SEG20COM
+ 3 = 1;
223 0225 1703 bsf 3,6
224 0226 161B bsf 27,4
225 0227 2A2D goto L43
226 ;main.c: 274: break;
227 0228 l46
228 ;main.c: 275: case 9:
229 ;main.c: 276: SEG19COM0 = SEG20COM0 = SEG20COM1
+ = SEG20COM2 = SEG19COM3 = SEG20COM3 = 1;
230 0228 1703 bsf 3,6
231 0229 161B bsf 27,4
232 022A 159B bsf 27,3
233 022B 2A2F goto L44
234 ;main.c: 277: break;
235 022C l47
236 ;main.c: 278: case 0:
237 ;main.c: 279: SEG19COM0 = SEG20COM0 = SEG20COM1
+ = SEG20COM2 = SEG19COM1 = SEG19COM3 = 1;
238 022C 1703 bsf 3,6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -