📄 zlg7289_16.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Thu Jul 10 09:37:21 2008
1 processor 16F877
2 opt pw 79
3 psect __Z49231UD_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text8,local,class=CODE,delta=2
6 psect text10,local,class=CODE,delta=2
7 psect text11,local,class=CODE,delta=2
8 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19
20 psect __Z49231UD_
21 0000 _delay$t set ?_delay
22
23 psect text0
24 06C5 _delay
25 ;ZLG7289_16.c: 16: while(t--);
26 06C5 l2
27 06C5 0183 clrf 3 ;select bank 0
28 06C6 083F movf ?_delay,w
29 06C7 1903 btfsc 3,2
30 06C8 03C0 decf ?_delay+1
31 06C9 03BF decf ?_delay
32 06CA 0A3F incf ?_delay,w
33 06CB 1903 btfsc 3,2
34 06CC 0A40 incf ?_delay+1,w
35 06CD 1903 btfsc 3,2
36 06CE 0008 return
37 06CF 2EC5 goto l2
38 ;ZLG7289_16.c: 23: void ZLG7289_Write(unsigned
+ char dat)
39 ;ZLG7289_16.c: 24: {
40 06D0 _ZLG7289_Write
41 ; _dat assigned to ?a_ZLG7289_Write+0
42 0000 _ZLG7289_Write$dat set ?a_ZLG7289_Write
43 ; _i assigned to ?a_ZLG7289_Write+1
44 0000 _ZLG7289_Write$i set ?a_ZLG7289_Write+1
45 ;_dat stored from w
46 06D0 0183 clrf 3 ;select bank 0
47 06D1 00BD movwf ?a_ZLG7289_Write
48 ;ZLG7289_16.c: 25: unsigned char i;
49 06D2 1683 bsf 3,5
50 06D3 1108 bcf 8,2
51 ;ZLG7289_16.c: 27: delay(4);
52 06D4 3004 movlw 4
53 06D5 1283 bcf 3,5
54 06D6 00BF movwf ?_delay
55 06D7 01C0 clrf ?_delay+1
56 06D8 26C5 fcall _delay
57 ;ZLG7289_16.c: 28: for(i=0;i<8;i++)
58 06D9 01BE clrf ?a_ZLG7289_Write+1
59 06DA l6
60 ;ZLG7289_16.c: 29: {
61 ;ZLG7289_16.c: 30: RD1=0;
62 06DA 1088 bcf 8,1
63 ;ZLG7289_16.c: 31: if((dat&0x80) != 0)
64 06DB 1FBD btfss ?a_ZLG7289_Write,7
65 06DC 2EDF goto l9
66 ;ZLG7289_16.c: 32: {RD2=1;
67 06DD 1508 bsf 8,2
68 ;ZLG7289_16.c: 33: }
69 06DE 2EE0 goto l10
70 06DF l9
71 ;ZLG7289_16.c: 35: {RD2=0;
72 06DF 1108 bcf 8,2
73 06E0 l10
74 ;ZLG7289_16.c: 36: }
75 ;ZLG7289_16.c: 37: dat<<=1;
76 06E0 1003 bcf 3,0
77 06E1 0DBD rlf ?a_ZLG7289_Write
78 ;ZLG7289_16.c: 38: RD1=1;
79 06E2 1488 bsf 8,1
80 ;ZLG7289_16.c: 39: delay(2);
81 06E3 3002 movlw 2
82 06E4 00BF movwf ?_delay
83 06E5 01C0 clrf ?_delay+1
84 06E6 26C5 fcall _delay
85 ;ZLG7289_16.c: 40: RD1=0;
86 06E7 1088 bcf 8,1
87 ;ZLG7289_16.c: 41: delay(2);
88 06E8 3002 movlw 2
89 06E9 00BF movwf ?_delay
90 06EA 01C0 clrf ?_delay+1
91 06EB 26C5 fcall _delay
92 ;ZLG7289_16.c: 42: }
93 06EC 0ABE incf ?a_ZLG7289_Write+1
94 06ED 3008 movlw 8
95 06EE 023E subwf ?a_ZLG7289_Write+1,w
96 06EF 1803 btfsc 3,0
97 06F0 0008 return
98 06F1 2EDA goto l6
99 ;ZLG7289_16.c: 49: void ZLG7289_cmd(char cmd)
100 ;ZLG7289_16.c: 50: {
101 06F2 _ZLG7289_cmd
102 ; _cmd assigned to ?a_ZLG7289_cmd+0
103 0000 _ZLG7289_cmd$cmd set ?a_ZLG7289_cmd
104 ;_cmd stored from w
105 06F2 0183 clrf 3 ;select bank 0
106 06F3 00B2 movwf ?a_ZLG7289_cmd
107 ;ZLG7289_16.c: 51: RD0=1;
108 06F4 1408 bsf 8,0
109 ;ZLG7289_16.c: 52: delay(2);
110 06F5 3002 movlw 2
111 06F6 00BF movwf ?_delay
112 06F7 01C0 clrf ?_delay+1
113 06F8 26C5 fcall _delay
114 ;ZLG7289_16.c: 53: RD0=0;
115 06F9 1008 bcf 8,0
116 ;ZLG7289_16.c: 54: delay(5);
117 06FA 3005 movlw 5
118 06FB 00BF movwf ?_delay
119 06FC 01C0 clrf ?_delay+1
120 06FD 26C5 fcall _delay
121 ;ZLG7289_16.c: 55: ZLG7289_Write(cmd);
122 06FE 0832 movf ?a_ZLG7289_cmd,w
123 06FF 26D0 fcall _ZLG7289_Write
124 ;ZLG7289_16.c: 56: RD0=1;
125 0700 1408 bsf 8,0
126 ;ZLG7289_16.c: 57: delay(1000);
127 0701 30E8 movlw 232
128 0702 00BF movwf ?_delay
129 0703 3003 movlw 3
130 0704 00C0 movwf ?_delay+1
131 0705 2EC5 ljmp l2
132 0706 _ZLG7289_cmd_dat
133 ; _cmd assigned to ?a_ZLG7289_cmd_dat+0
134 0000 _ZLG7289_cmd_dat$cmd set ?a_ZLG7289_cmd_dat
135 ;_cmd stored from w
136 0706 0183 clrf 3 ;select bank 0
137 0707 00BC movwf ?a_ZLG7289_cmd_dat
138 ;ZLG7289_16.c: 67: RD0=1;
139 0708 1408 bsf 8,0
140 ;ZLG7289_16.c: 68: delay(2);
141 0709 3002 movlw 2
142 070A 00BF movwf ?_delay
143 070B 01C0 clrf ?_delay+1
144 070C 26C5 fcall _delay
145 ;ZLG7289_16.c: 69: RD0=0;
146 070D 1008 bcf 8,0
147 ;ZLG7289_16.c: 70: ZLG7289_Write(cmd);
148 070E 083C movf ?a_ZLG7289_cmd_dat,w
149 070F 26D0 fcall _ZLG7289_Write
150 ;ZLG7289_16.c: 71: delay(3);
151 0710 3003 movlw 3
152 0711 00BF movwf ?_delay
153 0712 01C0 clrf ?_delay+1
154 0713 26C5 fcall _delay
155 ;ZLG7289_16.c: 72: ZLG7289_Write(dat);
156 0714 083B movf ?_ZLG7289_cmd_dat,w
157 0715 26D0 fcall _ZLG7289_Write
158 ;ZLG7289_16.c: 73: RD0=1;
159 0716 1408 bsf 8,0
160 ;ZLG7289_16.c: 74: delay(1000);
161 0717 30E8 movlw 232
162 0718 00BF movwf ?_delay
163 0719 3003 movlw 3
164 071A 00C0 movwf ?_delay+1
165 071B 2EC5 ljmp l2
166 ;ZLG7289_16.c: 123: unsigned char ZLG7289_read_
+ key(void)
167 ;ZLG7289_16.c: 124: {
168 071C _ZLG7289_read_key
169 ; _c assigned to ?a_ZLG7289_read_key+0
170 0000 _ZLG7289_read_key$c set ?a_ZLG7289_read_key
171 ; _i assigned to ?a_ZLG7289_read_key+1
172 0000 _ZLG7289_read_key$i set ?a_ZLG7289_read_key+1
173 ; _dat assigned to ?a_ZLG7289_read_key+2
174 0000 _ZLG7289_read_key$dat set ?a_ZLG7289_read_key+2
175 ;ZLG7289_16.c: 125: unsigned char dat;
176 071C 1683 bsf 3,5
177 071D 1303 bcf 3,6 ;carry unused
178 071E 1508 bsf 8,2
179 ;ZLG7289_16.c: 129: delay(2);
180 071F 3002 movlw 2
181 0720 1283 bcf 3,5
182 0721 00BF movwf ?_delay
183 0722 01C0 clrf ?_delay+1
184 0723 26C5 fcall _delay
185 ;ZLG7289_16.c: 130: for(i=0;i<8;i++)
186 0724 01B4 clrf ?a_ZLG7289_read_key+1
187 0725 l30
188 ;ZLG7289_16.c: 131: {
189 ;ZLG7289_16.c: 132: RD1=1;
190 0725 1488 bsf 8,1
191 ;ZLG7289_16.c: 133: delay(2);
192 0726 3002 movlw 2
193 0727 00BF movwf ?_delay
194 0728 01C0 clrf ?_delay+1
195 0729 26C5 fcall _delay
196 ;ZLG7289_16.c: 134: dat<<=1;
197 072A 1003 bcf 3,0
198 072B 0DB5 rlf ?a_ZLG7289_read_key+2
199 ;ZLG7289_16.c: 135: if(RD2 == 1)
200 072C 1D08 btfss 8,2
201 072D 2F30 goto l33
202 ;ZLG7289_16.c: 136: {
203 072E 0AB5 incf ?a_ZLG7289_read_key+2
204 ;ZLG7289_16.c: 138: c++;
205 072F 0AB3 incf ?a_ZLG7289_read_key
206 0730 l33
207 ;ZLG7289_16.c: 139: }
208 0730 1088 bcf 8,1
209 ;ZLG7289_16.c: 141: delay(2);
210 0731 3002 movlw 2
211 0732 00BF movwf ?_delay
212 0733 01C0 clrf ?_delay+1
213 0734 26C5 fcall _delay
214 ;ZLG7289_16.c: 143: }
215 0735 0AB4 incf ?a_ZLG7289_read_key+1
216 0736 3008 movlw 8
217 0737 0234 subwf ?a_ZLG7289_read_key+1,w
218 0738 1C03 btfss 3,0
219 0739 2F25 goto l30
220 ;ZLG7289_16.c: 144: return dat;
221 073A 0835 movf ?a_ZLG7289_read_key+2,w
222 ;ZLG7289_16.c: 145: }
223 073B 0008 return
224 ;ZLG7289_16.c: 153: unsigned char ZLG7289_key(v
+ oid)
225 ;ZLG7289_16.c: 154: {
226 073C _ZLG7289_key
227 ; _data assigned to ?a_ZLG7289_key+0
228 0000 _ZLG7289_key$data set ?a_ZLG7289_key
229 ;ZLG7289_16.c: 155: unsigned char data;
230 073C 0183 clrf 3 ;select bank 0
231 073D 1408 bsf 8,0
232 ;ZLG7289_16.c: 157: delay(1);
233 073E 01BF clrf ?_delay
234 073F 0ABF incf ?_delay
235 0740 01C0 clrf ?_delay+1
236 0741 26C5 fcall _delay
237 ;ZLG7289_16.c: 158: RD0=0;
238 0742 1008 bcf 8,0
239 ;ZLG7289_16.c: 159: delay(5);
240 0743 3005 movlw 5
241 0744 00BF movwf ?_delay
242 0745 01C0 clrf ?_delay+1
243 0746 26C5 fcall _delay
244 ;ZLG7289_16.c: 160: ZLG7289_Write(0x15);
245 0747 3015 movlw 21
246 0748 26D0 fcall _ZLG7289_Write
247 ;ZLG7289_16.c: 161: delay(2);
248 0749 3002 movlw 2
249 074A 00BF movwf ?_delay
250 074B 01C0 clrf ?_delay+1
251 074C 26C5 fcall _delay
252 ;ZLG7289_16.c: 162: data=ZLG7289_read_key();
253 074D 271C fcall _ZLG7289_read_key
254 074E 00B2 movwf ?a_ZLG7289_key
255 ;ZLG7289_16.c: 163: delay(1);
256 074F 01BF clrf ?_delay
257 0750 0ABF incf ?_delay
258 0751 01C0 clrf ?_delay+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -