📄 test.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL2
Serial number: HCPIC-88888 Fri May 20 16:56:28 2005
Licensed to: FJGCXY
1 processor 16F877A
2 opt pw 79
3 psect __Z88888RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text4,local,class=CODE,delta=2
6 psect text5,local,class=CODE,delta=2
7 psect text7,local,class=CODE,delta=2
8 psect text9,local,class=CODE,delta=2
9 psect rdata_0,global,class=BANK0,space=1,delta
+ =1
10 psect idata_0,global,class=CODE,delta=2
11 psect strings,global,class=STRING,delta=2
12 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
13 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24
25 psect __Z88888RS_
26 0190
27 0190
28
29 psect text0
30 0716 _DelayMs
31 ; _cnt assigned to ?a_DelayMs+0
32 0000 _DelayMs$cnt set ?a_DelayMs
33 ; __dcnt assigned to ?a_DelayMs+1
34 0000 _DelayMs$_dcnt set ?a_DelayMs+1
35 ;_cnt stored from w
36 0716 0183 clrf 3 ;select bank 0
37 0717 00A6 movwf ?a_DelayMs
38 0718 l4
39 ;delay.h: 36: do {
40 ;delay.h: 37: { unsigned char _dcnt; _dcnt = (9
+ 96)/((12*1000L)/(4*1000L))|1; while(--_dcnt !=
+ 0) continue; };
41 0718 304D movlw 77
42 0719 00A7 movwf ?a_DelayMs+1
43 071A l6
44 071A 0BA7 decfsz ?a_DelayMs+1
45 071B 2F1A goto l6
46 ;delay.h: 38: } while(--cnt);
47 071C 0BA6 decfsz ?a_DelayMs
48 071D 2F18 goto l4
49 071E 0008 return
50 ;delay.h: 52: void
51 ;delay.h: 53: DelayS(unsigned char cnt)
52 ;delay.h: 54: {
53 071F _DelayS
54 ; _cnt assigned to ?a_DelayS+0
55 0000 _DelayS$cnt set ?a_DelayS
56 ; _i assigned to ?a_DelayS+1
57 0000 _DelayS$i set ?a_DelayS+1
58 ;_cnt stored from w
59 071F 0183 clrf 3 ;select bank 0
60 0720 00A1 movwf ?a_DelayS
61 0721 l11
62 ;delay.h: 55: unsigned char i;
63 ;delay.h: 57: i = 4;
64 0721 3004 movlw 4
65 0722 00A2 movwf ?a_DelayS+1
66 0723 l14
67 ;delay.h: 58: do {
68 ;delay.h: 59: DelayMs(250);
69 0723 30FA movlw -6
70 0724 2716 fcall _DelayMs
71 ;delay.h: 60: } while(--i);
72 0725 0BA2 decfsz ?a_DelayS+1
73 0726 2F23 goto l14
74 ;delay.h: 61: } while(--cnt);
75 0727 0BA1 decfsz ?a_DelayS
76 0728 2F21 goto l11
77 0729 0008 return
78 ;HD44780.h: 58: extern void SetCommand(unsigned
+ char);
79 ;HD44780.h: 59: extern void SetData(unsigned ch
+ ar);
80 ;HD44780.h: 60: extern void PutString(unsigned
+ char x,unsigned char y,const char * s);
81 ;HD44780.h: 61: extern void LCD_Begin(unsigned
+ char);
82 ;HD44780.h: 62: extern void SetChar(unsigned ch
+ ar n,const char *c);
83 ;HD44780.h: 66: static bit fourbit;
84 ;HD44780.h: 113: void
85 ;HD44780.h: 114: SetCommand(unsigned char c)
86 ;HD44780.h: 115: {
87 072A _SetCommand
88 ; _c assigned to ?a_SetCommand+0
89 0000 _SetCommand$c set ?a_SetCommand
90 ;_c stored from w
91 072A 0183 clrf 3 ;select bank 0
92 072B 00A5 movwf ?a_SetCommand
93 ;HD44780.h: 116: DelayMs(5);
94 072C 3005 movlw 5
95 072D 2716 fcall _DelayMs
96 ;HD44780.h: 118: if (fourbit)
97 072E 1C20 btfss _fourbit/(0+8),_fourbit& (0+7)
98 072F 2F3F goto l16
99 ;HD44780.h: 119: {
100 0730 0E25 swapf ?a_SetCommand,w
101 0731 390F andlw 15
102 0732 0088 movwf 8 ;volatile
103 ;HD44780.h: 121: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
104 0733 1485 bsf 5,1
105 0734 0000 nop ;#
106 0735 0000 nop ;#
107 0736 1085 bcf 5,1
108 ;HD44780.h: 122: PORTD = ( c & 0x0F );
109 0737 0825 movf ?a_SetCommand,w
110 0738 390F andlw 15
111 0739 0088 movwf 8 ;volatile
112 ;HD44780.h: 123: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
113 073A 1485 bsf 5,1
114 073B 0000 nop ;#
115 073C 0000 nop ;#
116 073D 1085 bcf 5,1
117 ;HD44780.h: 124: }
118 073E 0008 return
119 073F l16
120 ;HD44780.h: 126: {
121 073F 0825 movf ?a_SetCommand,w
122 0740 0088 movwf 8 ;volatile
123 ;HD44780.h: 128: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
124 0741 1485 bsf 5,1
125 0742 0000 nop ;#
126 0743 0000 nop ;#
127 0744 1085 bcf 5,1
128 ;HD44780.h: 129: }
129 ;HD44780.h: 130: }
130 0745 0008 return
131 ;HD44780.h: 132: void
132 ;HD44780.h: 133: SetData(unsigned char c)
133 ;HD44780.h: 134: {
134 0746 _SetData
135 ; _c assigned to ?a_SetData+0
136 0000 _SetData$c set ?a_SetData
137 ;_c stored from w
138 0746 0183 clrf 3 ;select bank 0
139 0747 00A2 movwf ?a_SetData
140 ;HD44780.h: 135: DelayMs(5);
141 0748 3005 movlw 5
142 0749 2716 fcall _DelayMs
143 ;HD44780.h: 137: PORTD = 0;
144 074A 0188 clrf 8 ;volatile
145 ;HD44780.h: 138: RA3 = 1;
146 074B 1585 bsf 5,3
147 ;HD44780.h: 139: if (fourbit)
148 074C 1C20 btfss _fourbit/(0+8),_fourbit& (0+7)
149 074D 2F5B goto l19
150 ;HD44780.h: 140: {
151 074E 0E22 swapf ?a_SetData,w
152 074F 390F andlw 15
153 0750 0488 iorwf 8 ;volatile
154 ;HD44780.h: 142: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
155 0751 1485 bsf 5,1
156 0752 0000 nop ;#
157 0753 0000 nop ;#
158 0754 1085 bcf 5,1
159 ;HD44780.h: 143: PORTD &= 0xF0;
160 0755 30F0 movlw -16
161 0756 0588 andwf 8 ;volatile
162 ;HD44780.h: 144: PORTD |= ( c & 0x0F );
163 0757 0822 movf ?a_SetData,w
164 0758 390F andlw 15
165 0759 0488 iorwf 8 ;volatile
166 075A 2F5D goto L1
167 ;HD44780.h: 145: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
168 ;HD44780.h: 146: }
169 075B l19
170 ;HD44780.h: 148: {
171 075B 0822 movf ?a_SetData,w
172 075C 0088 movwf 8 ;volatile
173 075D L1
174 ;HD44780.h: 150: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
175 075D 1485 bsf 5,1
176 075E 0000 nop ;#
177 075F 0000 nop ;#
178 0760 1085 bcf 5,1
179 ;HD44780.h: 151: }
180 ;HD44780.h: 152: RA3 = 0;
181 0761 1185 bcf 5,3
182 ;HD44780.h: 153: }
183 0762 0008 return
184 ;HD44780.h: 176: void
185 ;HD44780.h: 177: LCD_Begin(unsigned char mode)
186 ;HD44780.h: 178: {
187 0763 _LCD_Begin
188 ; _mode assigned to ?a_LCD_Begin+0
189 0000 _LCD_Begin$mode set ?a_LCD_Begin
190 ; _init_value assigned to ?a_LCD_Begin+1
191 0000 _LCD_Begin$init_value set ?a_LCD_Begin+1
192 ; __dcnt assigned to ?a_LCD_Begin+2
193 0000 _LCD_Begin$_dcnt set ?a_LCD_Begin+2
194 ;_mode stored from w
195 0763 0183 clrf 3 ;select bank 0
196 0764 00A2 movwf ?a_LCD_Begin
197 ;HD44780.h: 179: char init_value;
198 0765 1020 bcf _fourbit/(0+8),_fourbit& (0+7)
199 ;HD44780.h: 182: if (mode == 0){
200 0766 08A2 movf ?a_LCD_Begin
201 0767 1D03 btfss 3,2
202 0768 2F6C goto l30
203 ;HD44780.h: 183: fourbit = 1;
204 0769 1420 bsf _fourbit/(0+8),_fourbit& (0+7)
205 ;HD44780.h: 184: init_value = 0x3;
206 076A 3003 movlw 3
207 076B 2F6D goto L2
208 ;HD44780.h: 185: }else{
209 076C l30
210 ;HD44780.h: 186: init_value = 0x3F;
211 076C 303F movlw 63
212 076D L2
213 076D 00A3 movwf ?a_LCD_Begin+1
214 ;HD44780.h: 187: }
215 ;HD44780.h: 188: RA3 = 0;
216 076E 1185 bcf 5,3
217 ;HD44780.h: 189: RA1 = 0;
218 076F 1085 bcf 5,1
219 ;HD44780.h: 190: RA2 = 0;
220 0770 1105 bcf 5,2
221 ;HD44780.h: 191: TRISA3 = 0;
222 0771 1683 bsf 3,5
223 0772 1185 bcf 5,3
224 ;HD44780.h: 192: TRISA1 = 0;
225 0773 1085 bcf 5,1
226 ;HD44780.h: 193: TRISA2 = 0;
227 0774 1105 bcf 5,2
228 ;HD44780.h: 194: TRISD = 0xf0;
229 0775 30F0 movlw -16
230 0776 0088 movwf 8 ;volatile
231 ;HD44780.h: 195: DelayMs(15);
232 0777 300F movlw 15
233 0778 2716 fcall _DelayMs
234 ;HD44780.h: 196: PORTD = init_value;
235 0779 0823 movf ?a_LCD_Begin+1,w
236 077A 0088 movwf 8 ;volatile
237 ;HD44780.h: 197: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
238 077B 1485 bsf 5,1
239 077C 0000 nop ;#
240 077D 0000 nop ;#
241 077E 1085 bcf 5,1
242 ;HD44780.h: 198: DelayMs(5);
243 077F 3005 movlw 5
244 0780 2716 fcall _DelayMs
245 ;HD44780.h: 199: PORTD = init_value;
246 0781 0823 movf ?a_LCD_Begin+1,w
247 0782 0088 movwf 8 ;volatile
248 ;HD44780.h: 200: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
249 0783 1485 bsf 5,1
250 0784 0000 nop ;#
251 0785 0000 nop ;#
252 0786 1085 bcf 5,1
253 ;HD44780.h: 201: { unsigned char _dcnt; _dcnt =
+ (200)/((12*1000L)/(4*1000L))|1; while(--_dcnt
+ != 0) continue; };
254 0787 3043 movlw 67
255 0788 00A4 movwf ?a_LCD_Begin+2
256 0789 l33
257 0789 0BA4 decfsz ?a_LCD_Begin+2
258 078A 2F89 goto l33
259 ;HD44780.h: 202: PORTD = init_value;
260 078B 0823 movf ?a_LCD_Begin+1,w
261 078C 0088 movwf 8 ;volatile
262 ;HD44780.h: 203: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
263 078D 1485 bsf 5,1
264 078E 0000 nop ;#
265 078F 0000 nop ;#
266 0790 1085 bcf 5,1
267 ;HD44780.h: 205: if (fourbit){
268 0791 1C20 btfss _fourbit/(0+8),_fourbit& (0+7)
269 0792 2F9D goto l35
270 ;HD44780.h: 206: DelayMs(5);
271 0793 3005 movlw 5
272 0794 2716 fcall _DelayMs
273 ;HD44780.h: 207: PORTD = 0x2;
274 0795 3002 movlw 2
275 0796 0088 movwf 8 ;volatile
276 ;HD44780.h: 208: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
277 0797 1485 bsf 5,1
278 0798 0000 nop ;#
279 0799 0000 nop ;#
280 079A 1085 bcf 5,1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -