📄 untitled.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Sun Jan 6 03:21:13 2002
1 processor 16F877
2 opt pw 79
3 psect __Z49231UD_,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 text0,local,class=CODE,delta=2
7 psect text6,local,class=CODE,delta=2
8 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
9 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20
21 psect rdata_0
22 002D _a
23 002D ds 1
24 002E ds 1
25 002F ds 1
26 0030 ds 1
27 0031 ds 1
28 0032 ds 1
29 0033 ds 1
30 0034 ds 1
31 0035 ds 1
32 0036 ds 1
33 0037 _buffer
34 0037 ds 2
35 0039 ds 2
36 003B ds 2
37 003D ds 2
38 003F ds 2
39
40 psect idata_0
41 07EC 343F retlw 63
42 07ED 3406 retlw 6
43 07EE 345B retlw 91
44 07EF 344F retlw 79
45 07F0 3466 retlw 102
46 07F1 346D retlw 109
47 07F2 347D retlw 125
48 07F3 3407 retlw 7
49 07F4 347F retlw 127
50 07F5 346F retlw 111
51 07F6 3400 retlw 0
52 07F7 3400 retlw 0
53 07F8 3400 retlw 0
54 07F9 3400 retlw 0
55 07FA 3400 retlw 0
56 07FB 3400 retlw 0
57 07FC 3400 retlw 0
58 07FD 3400 retlw 0
59 07FE 3400 retlw 0
60 07FF 3400 retlw 0
61
62 psect text0
63 0651 _delay_1us
64 ;Untitled.c: 15: asm("nop");
65 0651 0000 nop ;#
66 ;Untitled.c: 16: asm("nop");
67 0652 0000 nop ;#
68 ;Untitled.c: 18: }
69 0653 0183 clrf 3 ;select bank 0
70 0654 0008 return
71
72 psect text6
73 ;Untitled.c: 111: unsigned char write_byte(unsi
+ gned char dat)
74 ;Untitled.c: 112: {
75 0655 _write_byte
76 ; _dat assigned to ?a_write_byte+0
77 0000 _write_byte$dat set ?a_write_byte
78 ; _i assigned to ?a_write_byte+1
79 0000 _write_byte$i set ?a_write_byte+1
80 ;_dat stored from w
81 0655 0183 clrf 3 ;select bank 0
82 0656 00A7 movwf ?a_write_byte
83 ;Untitled.c: 113: unsigned char i;
84 0657 3008 movlw 8
85 0658 00A8 movwf ?a_write_byte+1
86 0659 l29
87 ;Untitled.c: 116: {
88 ;Untitled.c: 117: if(!write_bit(dat&0x01))
89 0659 0827 movf ?a_write_byte,w
90 065A 3901 andlw 1
91 065B 26FA fcall _write_bit
92 065C 1C03 btfss 3,0
93 ;Untitled.c: 118: return 0;
94 065D 3400 retlw 0
95 ;Untitled.c: 119: dat>>=1;
96 065E 1003 bcf 3,0
97 065F 0CA7 rrf ?a_write_byte
98 ;Untitled.c: 120: }
99 0660 0BA8 decfsz ?a_write_byte+1
100 0661 2E59 goto l29
101 ;Untitled.c: 121: return 1;
102 0662 3401 retlw 1
103 ;Untitled.c: 124: unsigned int read ()
104 ;Untitled.c: 125: {
105 0663 _read
106 ; _temh assigned to ?a_read+0
107 0000 _read$temh set ?a_read
108 ; _teml assigned to ?a_read+1
109 0000 _read$teml set ?a_read+1
110 ; _value assigned to ?a_read+2
111 0000 _read$value set ?a_read+2
112 ;Untitled.c: 126: unsigned char temh,teml;
113 0663 3050 movlw 80
114 0664 0183 clrf 3 ;select bank 0
115 0665 00A5 movwf ?a_read+2
116 0666 3005 movlw 5
117 0667 00A6 movwf ?a_read+3
118 ;Untitled.c: 128: while(reset());
119 0668 l34
120 0668 26B3 120A 118A fcall _reset
121 066B 1803 btfsc 3,0
122 066C 2E68 goto l34
123 ;Untitled.c: 129: write_byte(0XCC);
124 066D 30CC movlw -52
125 066E 2655 120A 118A fcall _write_byte
126 ;Untitled.c: 130: write_byte(0X44);
127 0671 3044 movlw 68
128 0672 2655 120A 118A fcall _write_byte
129 ;Untitled.c: 133: delay(20);
130 0675 3014 movlw 20
131 0676 00AB movwf ?_delay
132 0677 01AC clrf ?_delay+1
133 0678 26A8 fcall _delay
134 ;Untitled.c: 134: while(reset());
135 0679 l37
136 0679 26B3 120A 118A fcall _reset
137 067C 1803 btfsc 3,0
138 067D 2E79 goto l37
139 ;Untitled.c: 135: write_byte(0XCC);
140 067E 30CC movlw -52
141 067F 2655 120A 118A fcall _write_byte
142 ;Untitled.c: 136: write_byte(0XBE);
143 0682 30BE movlw -66
144 0683 2655 120A 118A fcall _write_byte
145 ;Untitled.c: 137: teml =read_byte();
146 0686 2730 fcall _read_byte
147 0687 00A4 movwf ?a_read+1
148 ;Untitled.c: 138: temh=read_byte();
149 0688 2730 fcall _read_byte
150 0689 00A3 movwf ?a_read
151 ;Untitled.c: 139: TRISA4=1;
152 068A 1683 bsf 3,5
153 068B 1605 bsf 5,4
154 ;Untitled.c: 140: value =teml>>4 ;
155 068C 1283 bcf 3,5
156 068D 0E24 swapf ?a_read+1,w
157 068E 390F andlw 15
158 068F 00A5 movwf ?a_read+2
159 0690 01A6 clrf ?a_read+3
160 ;Untitled.c: 141: value += temh<<4;
161 0691 0823 movf ?a_read,w
162 0692 00F0 movwf btemp
163 0693 01F1 clrf btemp+1
164 0694 0EF0 swapf btemp
165 0695 0EF1 swapf btemp+1
166 0696 30F0 movlw 240
167 0697 05F1 andwf btemp+1
168 0698 0870 movf btemp,w
169 0699 390F andlw 15
170 069A 04F1 iorwf btemp+1
171 069B 30F0 movlw 240
172 069C 05F0 andwf btemp
173 069D 0870 movf btemp,w
174 069E 07A5 addwf ?a_read+2
175 069F 1803 btfsc 3,0
176 06A0 0AA6 incf ?a_read+3
177 06A1 0871 movf btemp+1,w
178 06A2 07A6 addwf ?a_read+3
179 ;Untitled.c: 144: return(value);
180 06A3 0826 movf ?a_read+3,w
181 06A4 00F1 movwf btemp+1
182 06A5 0825 movf ?a_read+2,w
183 06A6 00F0 movwf btemp
184 ;Untitled.c: 147: }
185 06A7 0008 return
186 06A8 _delay
187 ;Untitled.c: 22: while(n--);
188 06A8 l3
189 06A8 0183 clrf 3 ;select bank 0
190 06A9 082B movf ?_delay,w
191 06AA 1903 btfsc 3,2
192 06AB 03AC decf ?_delay+1
193 06AC 03AB decf ?_delay
194 06AD 0A2B incf ?_delay,w
195 06AE 1903 btfsc 3,2
196 06AF 0A2C incf ?_delay+1,w
197 06B0 1903 btfsc 3,2
198 06B1 0008 return
199 06B2 2EA8 goto l3
200 ;Untitled.c: 26: bit reset()
201 ;Untitled.c: 27: { unsigned char i;
202 06B3 _reset
203 ; _i assigned to ?a_reset+0
204 0000 _reset$i set ?a_reset
205 ;Untitled.c: 28: static bit presence;
206 06B3 1683 bsf 3,5
207 06B4 1303 bcf 3,6
208 06B5 1605 bsf 5,4
209 ;Untitled.c: 30: TRISA4=0;
210 06B6 1205 bcf 5,4
211 ;Untitled.c: 31: RA4=0;
212 06B7 1283 bcf 3,5
213 06B8 1205 bcf 5,4
214 ;Untitled.c: 32: delay(42);
215 06B9 302A movlw 42
216 06BA 00AB movwf ?_delay
217 06BB 01AC clrf ?_delay+1
218 06BC 26A8 fcall _delay
219 ;Untitled.c: 33: TRISA4 = 1;
220 06BD 1683 bsf 3,5
221 06BE 1605 bsf 5,4
222 ;Untitled.c: 37: delay(2);
223 06BF 3002 movlw 2
224 06C0 1283 bcf 3,5
225 06C1 00AB movwf ?_delay
226 06C2 01AC clrf ?_delay+1
227 06C3 26A8 fcall _delay
228 ;Untitled.c: 38: if(!RA4);
229 ;Untitled.c: 39: i=1;
230 06C4 01A7 clrf ?a_reset
231 06C5 0AA7 incf ?a_reset
232 ;Untitled.c: 40: delay(2) ;
233 06C6 3002 movlw 2
234 06C7 00AB movwf ?_delay
235 06C8 01AC clrf ?_delay+1
236 06C9 26A8 fcall _delay
237 ;Untitled.c: 41: presence=RA4;
238 06CA 1020 bcf F473/(0+8),F473& (0+7)
239 06CB 1A05 btfsc 5,4
240 06CC 1420 bsf F473/(0+8),F473& (0+7)
241 ;Untitled.c: 42: delay(30);
242 06CD 301E movlw 30
243 06CE 1283 bcf 3,5
244 06CF 1303 bcf 3,6
245 06D0 00AB movwf ?_delay
246 06D1 01AC clrf ?_delay+1
247 06D2 26A8 fcall _delay
248 ;Untitled.c: 43: if(i||presence)
249 ;Untitled.c: 44: return (0);
250 06D3 1003 bcf 3,0
251 06D4 0008 return
252 ;Untitled.c: 50: bit read_bit()
253 ;Untitled.c: 51: {
254 06D5 _read_bit
255 ; _sampling assigned to ?a_read_bit+0
256 0000 _read_bit$sampling set ?a_read_bit
257 ;Untitled.c: 52: unsigned char sampling=2;
258 06D5 3002 movlw 2
259 06D6 0183 clrf 3 ;select bank 0
260 06D7 00A9 movwf ?a_read_bit
261 ;Untitled.c: 53: TRISA4=0;
262 06D8 1683 bsf 3,5
263 06D9 1205 bcf 5,4
264 ;Untitled.c: 54: while(--sampling);
265 06DA l10
266 06DA 1283 bcf 3,5
267 06DB 0BA9 decfsz ?a_read_bit
268 06DC 2EDA goto l10
269 ;Untitled.c: 56: TRISA4=1;
270 06DD 1683 bsf 3,5
271 06DE 1605 bsf 5,4
272 ;Untitled.c: 57: sampling=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -