📄 1.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-11111 Wed Dec 14 15:43:50 2005
Licensed to: FREE USER
1 processor 16F877
2 opt pw 79
3 psect __Z11111RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text4,local,class=CODE,delta=2
6 0000
7 0000
8 0000
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16
17 psect __Z11111RS_
18 0190
19 0190
20
21 psect text0
22 07BF _delay
23 ; _a assigned to ?a_delay+0
24 0000 _delay$a set ?a_delay
25 ; _i assigned to ?a_delay+1
26 0000 _delay$i set ?a_delay+1
27 ; _j assigned to ?a_delay+2
28 0000 _delay$j set ?a_delay+2
29 ;_a stored from w
30 07BF 0183 clrf 3 ;select bank 0
31 07C0 00A2 movwf ?a_delay
32 ;1.c: 5: unsigned char i;
33 07C1 01A3 clrf ?a_delay+1
34 07C2 2FD1 goto l5
35 07C3 l2
36 ;1.c: 8: {
37 ;1.c: 9: j=600;
38 07C3 3058 movlw 88
39 07C4 00A4 movwf ?a_delay+2
40 07C5 3002 movlw 2
41 07C6 00A5 movwf ?a_delay+3
42 ;1.c: 10: while(j--);
43 07C7 l6
44 07C7 0824 movf ?a_delay+2,w
45 07C8 1903 btfsc 3,2
46 07C9 03A5 decf ?a_delay+3
47 07CA 03A4 decf ?a_delay+2
48 07CB 0A24 incf ?a_delay+2,w
49 07CC 1903 btfsc 3,2
50 07CD 0A25 incf ?a_delay+3,w
51 07CE 1D03 btfss 3,2
52 07CF 2FC7 goto l6
53 ;1.c: 11: }
54 07D0 0AA3 incf ?a_delay+1
55 07D1 l5
56 07D1 0822 movf ?a_delay,w
57 07D2 0223 subwf ?a_delay+1,w
58 07D3 1803 btfsc 3,0
59 07D4 0008 return
60 07D5 2FC3 goto l2
61 ;1.c: 23: char spi_w(char data1)
62 ;1.c: 24: {
63 07D6 _spi_w
64 ; _data1 assigned to ?a_spi_w+0
65 0000 _spi_w$data1 set ?a_spi_w
66 ;_data1 stored from w
67 07D6 0183 clrf 3 ;select bank 0
68 07D7 00A2 movwf ?a_spi_w
69 ;1.c: 25: RC0=0;
70 07D8 1007 bcf 7,0
71 ;1.c: 26: SSPBUF=data1;
72 07D9 0822 movf ?a_spi_w,w
73 07DA 0093 movwf 19 ;volatile
74 ;1.c: 27: while(!SSPIF);
75 07DB l11
76 07DB 1D8C btfss 12,3
77 07DC 2FDB goto l11
78 ;1.c: 28: SSPIF=0;
79 07DD 118C bcf 12,3
80 ;1.c: 29: while(!STAT_BF);
81 07DE l14
82 07DE 1683 bsf 3,5
83 07DF 1C14 btfss 20,0
84 07E0 2FDE goto l14
85 ;1.c: 30: STAT_BF=0;
86 07E1 1014 bcf 20,0
87 ;1.c: 31: RC0=1;
88 07E2 1283 bcf 3,5
89 07E3 1407 bsf 7,0
90 ;1.c: 32: return(SSPBUF);
91 07E4 0813 movf 19,w ;volatile
92 ;1.c: 33: }
93 07E5 0008 return
94 ;1.c: 14: void spi_init()
95 ;1.c: 15: {
96 07E6 _spi_init
97 ;1.c: 16: TRISA=TRISA&0xdf;
98 07E6 1683 bsf 3,5
99 07E7 1303 bcf 3,6 ;carry unused
100 07E8 1285 bcf 5,5 ;volatile
101 ;1.c: 17: TRISC=TRISC&0xd6;
102 07E9 30D6 movlw -42
103 07EA 0587 andwf 7 ;volatile
104 ;1.c: 18: SSPCON=0x20;
105 07EB 3020 movlw 32
106 07EC 1283 bcf 3,5
107 07ED 0094 movwf 20 ;volatile
108 ;1.c: 19: SSPSTAT=0x80;
109 07EE 3080 movlw -128
110 07EF 1683 bsf 3,5
111 07F0 0094 movwf 20 ;volatile
112 ;1.c: 20: SSPIF=0;
113 07F1 1283 bcf 3,5
114 07F2 118C bcf 12,3
115 ;1.c: 21: }
116 07F3 0008 return
117 ;1.c: 35: void main()
118 ;1.c: 36: {
119 07F4 _main
120 ; _temp assigned to ?a_main+0
121 0000 _main$temp set ?a_main
122 ; _i assigned to ?a_main+1
123 0000 _main$i set ?a_main+1
124 ;1.c: 37: char temp,i;
125 07F4 1683 bsf 3,5
126 07F5 1303 bcf 3,6 ;carry unused
127 07F6 0186 clrf 6 ;volatile
128 ;1.c: 39: spi_init();
129 07F7 27E6 fcall _spi_init
130 07F8 l19
131 ;1.c: 40: while(1)
132 ;1.c: 41: {
133 07F8 0821 movf ?a_main+1,w
134 07F9 27D6 fcall _spi_w
135 07FA 00A0 movwf ?a_main
136 ;1.c: 43: PORTB=temp;
137 07FB 0086 movwf 6 ;volatile
138 ;1.c: 44: i++;
139 07FC 0AA1 incf ?a_main+1
140 ;1.c: 45: delay(200);
141 07FD 30C8 movlw -56
142 07FE 27BF fcall _delay
143 ;1.c: 46: }
144 07FF 2FF8 goto l19
145
146 psect text4
147 0000
148 0000
149 0000
150 0000
151 0000
152 0000
153 0000
154 0000
155 0000
156 0000
157 0000
158 0000
159 0000
160 0000
161 0000
162 0000
163 0000
164 0000
165 0000
166 0000
167 0000
168 0000
169 0000
170 0000
171 0000
172 0000
173 0000
174 0000
175 0000
176 0000
177 0000
178 0000
179 0000
180 0000
181 0000
182 0000
183 0000
184 0000
185 0000
186 0000
187 0000
188 0000
189 0000
190 0000
191 0000
192 0000
193 0000
194 0000
195 0000
196 0000
197 0000
198 0000
199 0000
200 0000
201 0000
202 0000
203 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -