📄 main.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-90508 Sat Nov 10 13:01:05 2007
Licensed to: ONE
1 processor 16F648A
2 opt pw 79
3 psect __Z90508RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text1,local,class=CODE,delta=2
6 psect intcode,global,class=CODE,delta=2
7 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
8 psect intret,global,class=CODE,delta=2
9 psect intentry,global,class=CODE,delta=2
10 psect intsave,global,class=BANK0,space=1,delta
+ =1
11 psect text3,local,class=CODE,delta=2
12 psect text4,local,class=CODE,delta=2
13 psect text5,local,class=CODE,delta=2
14 psect text6,local,class=CODE,delta=2
15 psect text7,local,class=CODE,delta=2
16 psect text8,local,class=CODE,delta=2
17 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
18 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
19 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26 0000
27 0000
28 0000
29 0000
30
31 psect __Z90508RS_
32 0145
33 0145
34
35 psect text0
36 0C1E _test
37 ;main.c: 30: }
38 0C1E 0183 clrf 3 ;select bank 0
39 0C1F 0008 return
40
41 psect intcode
42 002B _isr
43 002B int_func
44 ;main.c: 37: if(T0IE & T0IF)
45 002B 190B btfsc 11,2
46 002C 1E8B btfss 11,5
47 002D 283C goto l17
48 ;main.c: 38: {
49 002E 110B bcf 11,2
50 ;main.c: 41: TMR0 = 0x85;
51 002F 3085 movlw -123
52 0030 1283 bcf 3,5
53 0031 1303 bcf 3,6 ;carry unused
54 0032 0081 movwf 1 ;volatile
55 ;main.c: 42: TimeCnt++;
56 0033 0AA9 incf _TimeCnt ;volatile
57 0034 1903 btfsc 3,2
58 0035 0AAA incf _TimeCnt+1 ;volatile
59 ;main.c: 43: timeflag = 0xff;
60 0036 30FF movlw -1
61 0037 00A4 movwf _timeflag ;volatile
62 ;main.c: 44: TimeBase.alltimes = TimeCnt;
63 0038 0829 movf _TimeCnt,w ;volatile
64 0039 00A7 movwf _TimeBase ;volatile
65 003A 082A movf _TimeCnt+1,w ;volatile
66 003B 00A8 movwf _TimeBase+1 ;volatile
67 003C l17
68 ;main.c: 45: }
69 003C 1283 bcf 3,5
70 003D 1303 bcf 3,6 ;carry unused
71 003E 1E0C btfss 12,4
72 003F 286D goto l18
73 0040 1683 bsf 3,5
74 0041 1E0C btfss 12,4
75 0042 286D goto l18
76 ;main.c: 48: {
77 0043 0824 movf _UartStruct^(0+128),w ;volatile
78 0044 3903 andlw 3
79 0045 3A02 xorlw 2
80 0046 1D03 btfss 3,2
81 0047 286D goto l18
82 ;main.c: 50: {
83 0048 0822 movf _sendCount^(0+128),w ;volatile
84 0049 0223 subwf _sendPosi^(0+128),w ;volatile
85 004A 1803 btfsc 3,0
86 004B 2868 goto l20
87 ;main.c: 52: {
88 004C 0AA3 incf _sendPosi^(0+128) ;volatile
89 ;main.c: 55: TX9D = ParityBit(&sendBuf[sendPosi
+ ]);
90 004D 0823 movf _sendPosi^(0+128),w ;volatile
91 004E 3EB6 addlw _sendBuf
92 004F 1283 bcf 3,5
93 0050 00D1 movwf ?_ParityBit
94 0051 3080 movlw 128
95 0052 00D2 movwf ?_ParityBit+1
96 0053 118A 2324 118A fcall _ParityBit
97 0056 00F0 movwf btemp
98 0057 0C70 rrf btemp,w
99 0058 1683 bsf 3,5
100 0059 1C03 btfss 3,0
101 005A 285D goto L2
102 005B 1418 bsf 24,0
103 005C 285E goto u104
104 005D L2
105 005D 1018 bcf 24,0
106 005E u104
107 ;main.c: 56: TXREG = sendBuf[sendPosi];
108 005E 1683 bsf 3,5
109 005F 1303 bcf 3,6 ;carry unused
110 0060 0823 movf _sendPosi^(0+128),w ;volatile
111 0061 3EB6 addlw _sendBuf
112 0062 0084 movwf 4
113 0063 1383 bcf 3,7
114 0064 0800 movf 0,w
115 0065 1283 bcf 3,5
116 0066 0099 movwf 25 ;volatile
117 ;main.c: 57: }
118 0067 286D goto l18
119 0068 l20
120 ;main.c: 59: {
121 0068 1C98 btfss 24,1
122 0069 286D goto l18
123 ;main.c: 61: {
124 006A 16A4 bsf _UartStruct^(0+128),5 ;volatile
125 ;main.c: 64: TXEN = 0;
126 006B 1298 bcf 24,5
127 ;main.c: 65: TXIE = 0;
128 006C 120C bcf 12,4
129 ;main.c: 66: }
130 ;main.c: 68: }
131 006D l18
132 ;main.c: 71: if(RCIE & RCIF)
133 006D 1283 bcf 3,5
134 006E 1303 bcf 3,6 ;carry unused
135 006F 1E8C btfss 12,5
136 0070 28B6 goto l16
137 0071 1683 bsf 3,5
138 0072 1E8C btfss 12,5
139 0073 28B6 goto l16
140 ;main.c: 72: {
141 0074 1283 bcf 3,5
142 0075 1703 bsf 3,6
143 0076 0820 movf _FrameOverCou^(0+256),w
144 0077 1683 bsf 3,5
145 0078 1303 bcf 3,6 ;carry unused
146 0079 00A1 movwf _receTimeOut^(0+128) ;volatile
147 ;main.c: 75: if(FERR==1)
148 007A 1283 bcf 3,5
149 007B 1D18 btfss 24,2
150 007C 2880 goto l24
151 ;main.c: 76: {
152 007D 1218 bcf 24,4
153 ;main.c: 82: FERR = 0;
154 007E 1118 bcf 24,2
155 007F 2884 goto L1
156 ;main.c: 83: CREN = 1;
157 ;main.c: 84: tmp = RCREG;
158 ;main.c: 86: }
159 0080 l24
160 0080 1C98 btfss 24,1
161 0081 2888 goto l26
162 ;main.c: 88: {
163 0082 1218 bcf 24,4
164 ;main.c: 97: OERR = 0;
165 0083 1098 bcf 24,1
166 0084 L1
167 ;main.c: 98: CREN = 1;
168 0084 1618 bsf 24,4
169 ;main.c: 99: tmp = RCREG;
170 0085 081A movf 26,w ;volatile
171 0086 00A2 movwf _tmp
172 ;main.c: 100: }
173 0087 28B6 goto l16
174 0088 l26
175 ;main.c: 102: if(UartStruct.bits.HostStatus ==
+ 1)
176 0088 1683 bsf 3,5
177 0089 0824 movf _UartStruct^(0+128),w ;volatile
178 008A 3903 andlw 3
179 008B 3A01 xorlw 1
180 008C 1D03 btfss 3,2
181 008D 28B6 goto l16
182 ;main.c: 103: {
183 008E 3000 movlw 0
184 008F 1283 bcf 3,5
185 0090 1818 btfsc 24,0
186 0091 3001 movlw 1
187 0092 00A3 movwf _tmp2
188 ;main.c: 105: receBuf[receCount] = RCREG;
189 0093 1683 bsf 3,5
190 0094 0820 movf _receCount^(0+128),w ;volatile
191 0095 3EA6 addlw _receBuf
192 0096 0084 movwf 4
193 0097 1383 bcf 3,7
194 0098 1283 bcf 3,5
195 0099 081A movf 26,w ;volatile
196 009A 0080 movwf 0
197 ;main.c: 106: if(tmp2 != ParityBitThree(&receBu
+ f[receCount]))
198 009B 1683 bsf 3,5
199 009C 0820 movf _receCount^(0+128),w ;volatile
200 009D 3EA6 addlw _receBuf
201 009E 1283 bcf 3,5
202 009F 00D1 movwf ?_ParityBitThree
203 00A0 3080 movlw 128
204 00A1 00D2 movwf ?_ParityBitThree+1
205 00A2 158A 24B8 118A fcall _ParityBitThree
206 00A5 00F2 movwf btemp+2
207 00A6 01F3 clrf btemp+3
208 00A7 0823 movf _tmp2,w
209 00A8 00F0 movwf btemp
210 00A9 01F1 clrf btemp+1
211 00AA 0873 movf btemp+3,w
212 00AB 0671 xorwf btemp+1,w
213 00AC 1D03 btfss 3,2
214 00AD 28B0 goto u185
215 00AE 0872 movf btemp+2,w
216 00AF 0670 xorwf btemp,w
217 00B0 u185
218 00B0 1D03 btfss 3,2
219 ;main.c: 107: errorCheckout = 1;
220 00B1 1420 bsf _errorCheckout/(0+8),_errorCheckout& (0+7)
221 ;main.c: 109: receCount++;
222 00B2 1683 bsf 3,5
223 00B3 0AA0 incf _receCount^(0+128) ;volatile
224 ;main.c: 110: receCount &= 0x0f;
225 00B4 300F movlw 15
226 00B5 05A0 andwf _receCount^(0+128) ;volatile
227 ;main.c: 111: }
228 ;main.c: 114: return;
229 ;main.c: 115: }
230 00B6 l16
231 00B6 1303 bcf 3,6 ;carry unused
232 00B7 1283 bcf 3,5
233
234 psect intsave_0
235 007C saved_w
236 007C ds 1
237
238 psect intret
239 00D6 0858 movf saved_fsr,w
240 00D7 0084 movwf 4 ;restore FSR
241 00D8 0859 movf saved_pclath,w
242 00D9 008A movwf 10
243 00DA int_restore
244 00DA 0857 movf saved_status,w
245 00DB 0083 movwf 3
246 00DC 0EFC swapf saved_w
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -