📄 mian.lst
字号:
HI-TECH Software PICC Macro Assembler V9.50PL2
Thu Oct 30 23:01:17 2008
1 processor 16F877
2 opt pw 79
3 psect strings,global,class=STRING,delta=2
4 psect const1,local,class=CONST,delta=2
5 psect text1,local,class=CODE,delta=2
6 psect text6,local,class=CODE,delta=2
7 0000
8 0000
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17
18 psect const1
19 0007 0782 addwf 2
20 0008 _tab
21 0008 3477 retlw 119
22 0009 3465 retlw 101
23 000A 346C retlw 108
24 000B 3463 retlw 99
25 000C 346F retlw 111
26 000D 346D retlw 109
27 000E 3465 retlw 101
28 000F 3420 retlw 32
29 0010 3474 retlw 116
30 0011 346F retlw 111
31 0012 3420 retlw 32
32 0013 3463 retlw 99
33 0014 3468 retlw 104
34 0015 3469 retlw 105
35 0016 346E retlw 110
36 0017 3461 retlw 97
37 0018 3400 retlw 0
38
39 psect text1
40 0796 _check_busy
41 ; _temp assigned to ?a_check_busy+0
42 0000 _check_busy$temp set ?a_check_busy
43 0796 l11
44 ;mian.c: 18: void check_busy()
45 ;mian.c: 22: {
46 0796 30FF movlw -1
47 0797 0183 clrf 3 ;select bank 0
48 0798 0088 movwf 8 ;volatile
49 ;mian.c: 24: RC0=0;
50 0799 1007 bcf 7,0
51 ;mian.c: 25: RC1=1;
52 079A 1487 bsf 7,1
53 ;mian.c: 26: RC2=1;
54 079B 1507 bsf 7,2
55 ;mian.c: 27: asm("nop");
56 079C 0000 nop ;#
57 ;mian.c: 28: temp=PORTD;
58 079D 0808 movf 8,w ;volatile
59 079E 00A2 movwf ?a_check_busy
60 ;mian.c: 29: temp=temp>>7;
61 079F 0DA2 rlf ?a_check_busy
62 07A0 01A2 clrf ?a_check_busy
63 07A1 0DA2 rlf ?a_check_busy
64 ;mian.c: 30: RC2=0;
65 07A2 1107 bcf 7,2
66 ;mian.c: 31: }while(temp);
67 07A3 08A2 movf ?a_check_busy
68 07A4 1903 btfsc 3,2
69 07A5 0008 return
70 07A6 2F96 goto l11
71 07A7 _write_com
72 ; _com assigned to ?a_write_com+0
73 0000 _write_com$com set ?a_write_com
74 ;_com stored from w
75 07A7 0183 clrf 3 ;select bank 0
76 07A8 00A1 movwf ?a_write_com
77 ;mian.c: 34: void write_com(unsigned char com)
78 07A9 2796 fcall _check_busy
79 ;mian.c: 37: RC0=0;
80 07AA 1007 bcf 7,0
81 ;mian.c: 38: RC1=0;
82 07AB 1087 bcf 7,1
83 ;mian.c: 39: RC2=1;
84 07AC 1507 bsf 7,2
85 ;mian.c: 40: PORTD=com;
86 07AD 0821 movf ?a_write_com,w
87 07AE 0088 movwf 8 ;volatile
88 ;mian.c: 41: delay(1);
89 07AF 3001 movlw 1
90 07B0 27BF fcall _delay
91 ;mian.c: 42: RC2=0;
92 07B1 1107 bcf 7,2
93 ;mian.c: 43: }
94 07B2 0008 return ;W free
95 07B3 _write_dat
96 ; _dat assigned to ?a_write_dat+0
97 0000 _write_dat$dat set ?a_write_dat
98 ;_dat stored from w
99 07B3 0183 clrf 3 ;select bank 0
100 07B4 00A1 movwf ?a_write_dat
101 ;mian.c: 45: void write_dat(unsigned char dat)
102 07B5 2796 fcall _check_busy
103 ;mian.c: 48: RC0=1;
104 07B6 1407 bsf 7,0
105 ;mian.c: 49: RC1=0;
106 07B7 1087 bcf 7,1
107 ;mian.c: 50: RC2=1;
108 07B8 1507 bsf 7,2
109 ;mian.c: 51: PORTD=dat;
110 07B9 0821 movf ?a_write_dat,w
111 07BA 0088 movwf 8 ;volatile
112 ;mian.c: 52: delay(1);
113 07BB 3001 movlw 1
114 07BC 27BF fcall _delay
115 ;mian.c: 53: RC2=0;
116 07BD 1107 bcf 7,2
117 ;mian.c: 54: }
118 07BE 0008 return ;W free
119 07BF _delay
120 ; _x assigned to ?a_delay+0
121 0000 _delay$x set ?a_delay
122 ; _y assigned to ?a_delay+1
123 0000 _delay$y set ?a_delay+1
124 ;_y stored from w
125 07BF 0183 clrf 3 ;select bank 0
126 07C0 00A3 movwf ?a_delay+1
127 ;mian.c: 11: void delay(unsigned char y)
128 07C1 08A3 movf ?a_delay+1
129 07C2 1903 btfsc 3,2
130 07C3 0008 return
131 07C4 l2
132 ;mian.c: 15: for(x=110;x>0;x--);
133 07C4 306E movlw 110
134 07C5 00A2 movwf ?a_delay
135 07C6 l5
136 07C6 0BA2 decfsz ?a_delay
137 07C7 2FC6 goto l5
138 07C8 0BA3 decfsz ?a_delay+1
139 07C9 2FC4 goto l2
140 07CA 0008 return
141 07CB _lcd_init
142 ;mian.c: 56: void lcd_init()
143 07CB 3038 movlw 56
144 07CC 27A7 120A 118A fcall _write_com
145 ;mian.c: 59: delay(1);
146 07CF 3001 movlw 1
147 07D0 27BF fcall _delay
148 ;mian.c: 60: write_com(0x0f);
149 07D1 300F movlw 15
150 07D2 27A7 120A 118A fcall _write_com
151 ;mian.c: 61: delay(1);
152 07D5 3001 movlw 1
153 07D6 27BF fcall _delay
154 ;mian.c: 62: write_com(0x06);
155 07D7 3006 movlw 6
156 07D8 27A7 120A 118A fcall _write_com
157 ;mian.c: 63: delay(1);
158 07DB 3001 movlw 1
159 07DC 27BF fcall _delay
160 ;mian.c: 64: write_com(0x01);
161 07DD 3001 movlw 1
162 07DE 27A7 120A 118A fcall _write_com
163 ;mian.c: 65: delay(1);
164 07E1 3001 movlw 1
165 07E2 27BF fcall _delay
166 ;mian.c: 66: write_com(0x80);
167 07E3 3080 movlw -128
168 07E4 2FA7 ljmp _write_com
169 07E5 _main
170 ; _i assigned to ?a_main+0
171 0000 _main$i set ?a_main
172 ;mian.c: 69: void main()
173 07E5 1683 bsf 3,5
174 07E6 1303 bcf 3,6 ;carry unused
175 07E7 0187 clrf 7 ;volatile
176 ;mian.c: 73: TRISD=0x00;
177 07E8 0188 clrf 8 ;volatile
178 ;mian.c: 74: RC2=0;
179 07E9 1283 bcf 3,5
180 07EA 1107 bcf 7,2
181 ;mian.c: 75: delay(15);
182 07EB 300F movlw 15
183 07EC 27BF fcall _delay
184 ;mian.c: 76: lcd_init();
185 07ED 27CB fcall _lcd_init
186 ;mian.c: 77: for(i=0;i<16;i++)
187 07EE 01A0 clrf ?a_main
188 07EF l16
189 ;mian.c: 78: {
190 07EF 3000 movlw _tab shr (0+8)
191 07F0 008A movwf 10
192 07F1 0820 movf ?a_main,w
193 07F2 2007 call ((_tab+-1)& (0+2047))| (($)& (0+-2048))
194 07F3 120A 118A 27B3 fcall _write_dat
+ 120A 118A
195 ;mian.c: 80: delay(1);
196 07F8 3001 movlw 1
197 07F9 27BF fcall _delay
198 07FA 0AA0 incf ?a_main
199 07FB 3010 movlw 16
200 07FC 0220 subwf ?a_main,w
201 07FD 1C03 btfss 3,0
202 07FE 2FEF goto l16
203 ;mian.c: 81: }
204 07FF l19
205 07FF 2FFF goto l19
206
207 psect text6
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -