📄 usart_2.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-51037 Sat Jun 21 19:53:51 2008
Licensed to: ONE
1 processor 16F877A
2 opt pw 79
3 psect __Z51037RS_,global,delta=1
4 psect rdata_0,global,class=BANK0,space=1,delta
+ =1
5 psect idata_0,global,class=CODE,delta=2
6 psect text2,local,class=CODE,delta=2
7 psect strings,global,class=STRING,delta=2
8 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19
20 psect __Z51037RS_
21 0190
22 0190
23
24 psect rdata_0
25 0024 _string_usart1
26 0024 ds 1
27 0025 ds 1
28 0026 ds 1
29 0027 ds 1
30 0028 ds 1
31 0029 ds 1
32 002A ds 1
33 002B ds 1
34 002C ds 1
35 002D ds 1
36 002E ds 1
37 002F _string_usart2
38 002F ds 1
39 0030 ds 1
40 0031 ds 1
41 0032 ds 1
42 0033 ds 1
43 0034 ds 1
44 0035 ds 1
45 0036 ds 1
46 0037 ds 1
47 0038 ds 1
48 0039 ds 1
49 003A ds 1
50
51 psect idata_0
52 07E9 3472 retlw 114
53 07EA 3465 retlw 101
54 07EB 3463 retlw 99
55 07EC 3465 retlw 101
56 07ED 3469 retlw 105
57 07EE 3476 retlw 118
58 07EF 3465 retlw 101
59 07F0 342E retlw 46
60 07F1 342E retlw 46
61 07F2 342E retlw 46
62 07F3 3400 retlw 0
63 07F4 3474 retlw 116
64 07F5 3472 retlw 114
65 07F6 3461 retlw 97
66 07F7 346E retlw 110
67 07F8 3473 retlw 115
68 07F9 346D retlw 109
69 07FA 3469 retlw 105
70 07FB 3474 retlw 116
71 07FC 342E retlw 46
72 07FD 342E retlw 46
73 07FE 342E retlw 46
74 07FF 3400 retlw 0
75
76 psect text2
77 ;usart_2.c: 68: void send_usart_date(unsigned c
+ har send_temp)
78 ;usart_2.c: 69: {
79 06D0 _send_usart_date
80 ; _send_temp assigned to ?a_send_usart_date+0
81 0000 _send_usart_date$send_temp set ?a_send_usart_da
+ te
82 ;_send_temp stored from w
83 06D0 0183 clrf 3 ;select bank 0
84 06D1 00A3 movwf ?a_send_usart_date
85 ;usart_2.c: 70: TXREG=send_temp;
86 06D2 0823 movf ?a_send_usart_date,w
87 06D3 0099 movwf 25 ;volatile
88 06D4 l9
89 ;usart_2.c: 71: do{;}while(0==TXIF);
90 06D4 1E0C btfss 12,4
91 06D5 2ED4 goto l9
92 ;usart_2.c: 72: TXIF=0;
93 06D6 120C bcf 12,4
94 ;usart_2.c: 73: }
95 06D7 0008 return
96 06D8 _send_pc_string
97 ;usart_2.c: 77: while('\0'!=*string_temp)
98 06D8 2EE5 goto l11
99 06D9 l12
100 ;usart_2.c: 78: {
101 06D9 0822 movf ?_send_pc_string+1,w
102 06DA 00BC movwf code_ptr+1
103 06DB 0821 movf ?_send_pc_string,w
104 06DC 120A 118A 2029 fcall string_table
+ 120A 118A
105 06E1 26D0 fcall _send_usart_date
106 ;usart_2.c: 80: string_temp++;
107 06E2 0AA1 incf ?_send_pc_string
108 06E3 1903 btfsc 3,2
109 06E4 0AA2 incf ?_send_pc_string+1
110 06E5 l11
111 ;usart_2.c: 81: }
112 06E5 1283 bcf 3,5
113 06E6 1303 bcf 3,6 ;carry unused
114 06E7 0822 movf ?_send_pc_string+1,w
115 06E8 00BC movwf code_ptr+1
116 06E9 0821 movf ?_send_pc_string,w
117 06EA 120A 118A 2029 fcall string_table
+ 120A 118A
118 06EF 3800 iorlw 0
119 06F0 1903 btfsc 3,2
120 06F1 0008 return
121 06F2 2ED9 goto l12
122 06F3 _get_usart_date
123 ; _usart_date_temp assigned to ?a_get_usart_dat
+ e+0
124 0000 _get_usart_date$usart_date_temp set ?a_get_usar
+ t_date
125 06F3 l5
126 ;usart_2.c: 60: unsigned char usart_date_temp;
127 06F3 0183 clrf 3 ;select bank 0
128 06F4 1E8C btfss 12,5
129 06F5 2EF3 goto l5
130 ;usart_2.c: 62: RCIF=0;
131 06F6 128C bcf 12,5
132 ;usart_2.c: 63: usart_date_temp=RCREG;
133 06F7 081A movf 26,w ;volatile
134 06F8 00A1 movwf ?a_get_usart_date
135 ;usart_2.c: 65: }
136 06F9 0008 return
137 ;usart_2.c: 84: void pc_read()
138 ;usart_2.c: 85: {
139 06FA _pc_read
140 ;usart_2.c: 89: if(get_usart_date()=='*')
141 06FA 26F3 fcall _get_usart_date
142 06FB 3A2A xorlw 42
143 06FC 1D03 btfss 3,2
144 06FD 2F05 goto l15
145 ;usart_2.c: 90: {
146 06FE 01A0 clrf _pc_link_ready
147 06FF 0AA0 incf _pc_link_ready
148 ;usart_2.c: 92: send_pc_string("link...");
149 0700 3041 movlw low u19
150 0701 00A1 movwf ?_send_pc_string
151 0702 3000 movlw high u19
152 0703 00A2 movwf ?_send_pc_string+1
153 0704 26D8 fcall _send_pc_string
154 0705 l15
155 ;usart_2.c: 93: }
156 0705 26F3 fcall _get_usart_date
157 0706 3A2F xorlw 47
158 0707 1D03 btfss 3,2
159 0708 0008 return
160 ;usart_2.c: 95: {
161 0709 01A0 clrf _pc_link_ready
162 ;usart_2.c: 97: send_pc_string("unlink...");
163 070A 303F movlw low u29
164 070B 00A1 movwf ?_send_pc_string
165 070C 3000 movlw high u29
166 070D 00A2 movwf ?_send_pc_string+1
167 070E 2ED8 ljmp _send_pc_string
168 070F _usartint
169 070F 1683 bsf 3,5
170 0710 1303 bcf 3,6 ;carry unused
171 0711 1307 bcf 7,6
172 ;usart_2.c: 28: TRISC7=1;
173 0712 1787 bsf 7,7
174 ;usart_2.c: 29: SPBRG=0X67;
175 0713 3067 movlw 103
176 0714 0099 movwf 25 ;volatile
177 ;usart_2.c: 30: TXSTA=0X24;
178 0715 3024 movlw 36
179 0716 0098 movwf 24 ;volatile
180 ;usart_2.c: 31: RCSTA=0X90;
181 0717 3090 movlw -112
182 0718 1283 bcf 3,5
183 0719 0098 movwf 24 ;volatile
184 ;usart_2.c: 32: GIE=0;
185 071A 138B bcf 11,7
186 ;usart_2.c: 33: TRISD=0x00;
187 071B 1683 bsf 3,5
188 071C 0188 clrf 8 ;volatile
189 ;usart_2.c: 34: PORTD=0x00;
190 071D 1283 bcf 3,5
191 071E 0188 clrf 8 ;volatile
192 ;usart_2.c: 36: }
193 071F 0008 return
194 ;usart_2.c: 121: void main()
195 ;usart_2.c: 122: {
196 0720 _main
197 ;usart_2.c: 123: usartint();
198 0720 270F fcall _usartint
199 0721 l19
200 ;usart_2.c: 126: while(1)
201 ;usart_2.c: 127: {
202 0721 26FA 120A 118A fcall _pc_read
203 ;usart_2.c: 133: }
204 0724 2F21 goto l19
205
206 psect strings
207 0000
208 0000
209 0000
210 0000
211 0000
212 0000
213 0000
214 0000
215 0000
216 0000
217 0000
218 0000
219 0000
220 0000
221 0000
222 0000
223 0000
224 0000
225 0000
226 0000
227 0000
228 0000
229 0000
230 0000
231 0000
232 0000
233 0000
234 0000
235 0000
236 0000
237 0000
238 0000
239 0000
240 0000
241 0000
242 0000
243 0000
244 0000
245 0000
246 0000
247 0000
248 0000
249 0000
250 0000
251 0000
252 0000
253 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -