📄 guest.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-76266 Wed Jul 30 16:02:02 2008
Licensed to: ONE TWO
1 processor 16F877A
2 opt pw 79
3 psect __Z76266RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text2,local,class=CODE,delta=2
6 psect text3,local,class=CODE,delta=2
7 psect intcode,global,class=CODE,delta=2
8 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
9 psect intret,global,class=CODE,delta=2
10 psect intentry,global,class=CODE,delta=2
11 psect intsave,global,class=BANK0,space=1,delta
+ =1
12 psect strings,global,class=STRING,delta=2
13 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
14 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
15 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26
27 psect __Z76266RS_
28 0190
29 0190
30
31 psect text0
32 0553 _Delay
33 ; _i assigned to ?a_Delay+0
34 0000 _Delay$i set ?a_Delay
35 ;guest.c: 31: unsigned char i;
36 0553 3008 movlw 8
37 0554 0183 clrf 3 ;select bank 0
38 0555 00AA movwf ?a_Delay
39 0556 2D5D goto l5
40 0557 l2
41 ;guest.c: 33: {
42 ;guest.c: 34: DelayMs(250);
43 0557 30FA movlw -6
44 0558 120A 118A 2560 fcall _DelayMs
+ 120A 118A
45 055D l5
46 ;guest.c: 35: }
47 055D 0BAA decfsz ?a_Delay
48 055E 2D57 goto l2
49 055F 0008 return
50
51 psect text2
52 ;guest.c: 47: bit EvenParity(unsigned char data
+ )
53 ;guest.c: 48: {
54 06E0 _EvenParity
55 ; _data assigned to ?a_EvenParity+0
56 0000 _EvenParity$data set ?a_EvenParity
57 ;_data stored from w
58 06E0 0183 clrf 3 ;select bank 0
59 06E1 00AB movwf ?a_EvenParity
60 06E2 0E2B swapf ?a_EvenParity,w ;#
61 06E3 06AB xorwf ?a_EvenParity ;#
62 06E4 0C2B rrf ?a_EvenParity,w ;#
63 06E5 06AB xorwf ?a_EvenParity ;#
64 06E6 192B btfsc ?a_EvenParity,2 ;#
65 06E7 0AAB incf ?a_EvenParity ;#
66 ;guest.c: 57: if (data&0x01)
67 06E8 1C2B btfss ?a_EvenParity,0
68 06E9 2EEC goto l8
69 ;guest.c: 58: return 1;
70 06EA 1403 bsf 3,0
71 06EB 0008 return
72 06EC l8
73 ;guest.c: 60: return 0;
74 06EC 1003 bcf 3,0
75 ;guest.c: 61: }
76 06ED 0008 return
77 ;guest.c: 121: void SingleBusTx(unsigned char d
+ ata)
78 ;guest.c: 122: {
79 06EE _SingleBusTx
80 ; _data assigned to ?a_SingleBusTx+0
81 0000 _SingleBusTx$data set ?a_SingleBusTx
82 ;_data stored from w
83 06EE 0183 clrf 3 ;select bank 0
84 06EF 00AA movwf ?a_SingleBusTx
85 ;guest.c: 123: TX_BUF = data;
86 06F0 00A7 movwf _TX_BUF
87 ;guest.c: 124: INTE = 0;
88 06F1 120B bcf 11,4
89 ;guest.c: 125: RD6 = 0;
90 06F2 1308 bcf 8,6
91 ;guest.c: 127: TX_FLAG = 0;
92 06F3 01A8 clrf _TX_FLAG
93 ;guest.c: 128: TmrCounter = 2;
94 06F4 3002 movlw 2
95 06F5 00A9 movwf _TmrCounter
96 ;guest.c: 129: TMR0 = 0x12;
97 06F6 3012 movlw 18
98 06F7 0081 movwf 1 ;volatile
99 ;guest.c: 130: while(!TX_FLAG);
100 06F8 l21
101 06F8 08A8 movf _TX_FLAG
102 06F9 1903 btfsc 3,2
103 06FA 2EF8 goto l21
104 ;guest.c: 131: TX_FLAG = 0;
105 06FB 01A8 clrf _TX_FLAG
106 ;guest.c: 132: for(BitCounter=10;--BitCounter;)
107 06FC 300A movlw 10
108 06FD 00A1 movwf _BitCounter
109 06FE 2F16 goto l27
110 06FF l24
111 ;guest.c: 133: {
112 ;guest.c: 134: if(BitCounter==1)
113 06FF 0B21 decfsz _BitCounter,w
114 0700 2F04 goto l28
115 ;guest.c: 135: RD6 = EvenParity(data);
116 0701 082A movf ?a_SingleBusTx,w
117 0702 26E0 fcall _EvenParity
118 0703 2F05 goto L2
119 ;guest.c: 136: else
120 0704 l28
121 ;guest.c: 137: RD6 = TX_BUF & 0x01;
122 0704 0C27 rrf _TX_BUF,w
123 0705 L2
124 0705 1C03 btfss 3,0
125 0706 2F09 goto u180
126 0707 1708 bsf 8,6
127 0708 2F0A goto l29
128 0709 u180
129 0709 1308 bcf 8,6
130 070A l29
131 ;guest.c: 138: TmrCounter = 2;
132 070A 3002 movlw 2
133 070B 1283 bcf 3,5
134 070C 1303 bcf 3,6 ;carry unused
135 070D 00A9 movwf _TmrCounter
136 ;guest.c: 139: TMR0 = 0x12;
137 070E 3012 movlw 18
138 070F 0081 movwf 1 ;volatile
139 ;guest.c: 140: while(!TX_FLAG);
140 0710 l30
141 0710 08A8 movf _TX_FLAG
142 0711 1903 btfsc 3,2
143 0712 2F10 goto l30
144 ;guest.c: 141: TX_FLAG = 0;
145 0713 01A8 clrf _TX_FLAG
146 ;guest.c: 142: TX_BUF >>= 1;
147 0714 1003 bcf 3,0
148 0715 0CA7 rrf _TX_BUF
149 0716 l27
150 ;guest.c: 143: }
151 0716 0BA1 decfsz _BitCounter
152 0717 2EFF goto l24
153 ;guest.c: 145: RD6 = 1;
154 0718 1708 bsf 8,6
155 ;guest.c: 146: BitCounter = 10;
156 0719 300A movlw 10
157 071A 00A1 movwf _BitCounter
158 ;guest.c: 147: INTE = 1;
159 071B 160B bsf 11,4
160 ;guest.c: 148: }
161 071C 0008 return
162 ;guest.c: 40: void set_port(void)
163 ;guest.c: 41: {
164 071D _set_port
165 ;guest.c: 42: ADCON1 = 0x06;
166 071D 3006 movlw 6
167 071E 1683 bsf 3,5
168 071F 1303 bcf 3,6 ;carry unused
169 0720 009F movwf 31 ;volatile
170 ;guest.c: 43: PSPMODE = 0;
171 0721 1209 bcf 9,4
172 ;guest.c: 44: }
173 0722 1283 bcf 3,5
174 0723 0008 return
175 ;guest.c: 153: void main(void)
176 ;guest.c: 154: {
177 0724 _main
178 ;guest.c: 155: GIE = 1;
179 0724 178B bsf 11,7
180 ;guest.c: 156: T0IE = 1;
181 0725 168B bsf 11,5
182 ;guest.c: 157: INTE = 1;
183 0726 160B bsf 11,4
184 ;guest.c: 158: OPTION = 0x00;
185 0727 1683 bsf 3,5
186 0728 1303 bcf 3,6 ;carry unused
187 0729 0181 clrf 1
188 ;guest.c: 159: Data = 0x55;
189 072A 3055 movlw 85
190 072B 1283 bcf 3,5
191 072C 00A2 movwf _Data
192 ;guest.c: 160: BitCounter = 10;
193 072D 300A movlw 10
194 072E 00A1 movwf _BitCounter
195 ;guest.c: 161: TmrCounter = 2;
196 072F 3002 movlw 2
197 0730 00A9 movwf _TmrCounter
198 ;guest.c: 162: TRISC6 = 0;
199 0731 1683 bsf 3,5
200 0732 1307 bcf 7,6
201 ;guest.c: 163: TRISC2 = 0;
202 0733 1107 bcf 7,2
203 ;guest.c: 164: TRISC7 = 0;
204 0734 1387 bcf 7,7
205 ;guest.c: 165: RC7 = 1;
206 0735 1283 bcf 3,5
207 0736 1787 bsf 7,7
208 ;guest.c: 166: TRISB0 = 1;
209 0737 1683 bsf 3,5
210 0738 1406 bsf 6,0
211 ;guest.c: 167: TRISD6 = 0;
212 0739 1308 bcf 8,6
213 ;guest.c: 168: RC2 = 1;
214 073A 1283 bcf 3,5
215 073B 1507 bsf 7,2
216 ;guest.c: 169: RD6 = 1;
217 073C 1708 bsf 8,6
218 ;guest.c: 170: RB0 = 1;
219 073D 1406 bsf 6,0
220 ;guest.c: 171: RC_FLAG = 0;
221 073E 01A5 clrf _RC_FLAG
222 ;guest.c: 172: set_port();
223 073F 271D fcall _set_port
224 ;guest.c: 173: lcd_initial();
225 0740 120A 118A 257F fcall _lcd_initial
226 ;guest.c: 174: lcd_clear();
227 0743 120A 118A 256D fcall _lcd_clear
228 ;guest.c: 175: lcd_gotoxy(0,0);
229 0746 01AA clrf ?_lcd_gotoxy
230 0747 3000 movlw 0
231 0748 120A 118A 264B fcall _lcd_gotoxy
232 ;guest.c: 176: lcd_putstr("Tx:");
233 074B 308E movlw low u19
234 074C 00AA movwf ?_lcd_putstr
235 074D 3000 movlw high u19
236 074E 00AB movwf ?_lcd_putstr+1
237 074F 120A 118A 2596 fcall _lcd_putstr
238 ;guest.c: 177: lcd_gotoxy(0,1);
239 0752 01AA clrf ?_lcd_gotoxy
240 0753 0AAA incf ?_lcd_gotoxy
241 0754 3000 movlw 0
242 0755 120A 118A 264B fcall _lcd_gotoxy
243 ;guest.c: 178: lcd_putstr("Rc:");
244 0758 3092 movlw low u29
245 0759 00AA movwf ?_lcd_putstr
246 075A 3000 movlw high u29
247 075B 00AB movwf ?_lcd_putstr+1
248 075C 120A 118A 2596 fcall _lcd_putstr
+ 120A 118A
249 0761 l35
250 ;guest.c: 179: while(1)
251 ;guest.c: 180: {
252 0761 08A5 movf _RC_FLAG
253 0762 1903 btfsc 3,2
254 0763 2F61 goto l35
255 ;guest.c: 182: {
256 0764 01A5 clrf _RC_FLAG
257 ;guest.c: 184: if(PARITY==EvenParity(RC_REG))
258 0765 1C20 btfss _PARITY/(0+8),_PARITY& (0+7)
259 0766 2F69 goto u230
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -