📄 message.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-63763 Sat Jun 14 16:35:56 2008
Licensed to: CHENLIYUN
1 processor 16F877A
2 opt pw 79
3 psect __Z63763RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text1,local,class=CODE,delta=2
6 psect text2,local,class=CODE,delta=2
7 psect text5,local,class=CODE,delta=2
8 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
9 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20
21 psect __Z63763RS_
22 0190
23 0190
24
25 psect text0
26 0F65 __Push
27 ; _byte assigned to ?a__Push+0
28 0000 __Push$byte set ?a__Push
29 ;_byte stored from w
30 0F65 0183 clrf 3 ;select bank 0
31 0F66 00E4 movwf ?a__Push
32 ;message.c: 26: MessageBuf[MessageBuf[0]++] = b
+ yte;
33 0F67 084F movf _MessageBuf,w
34 0F68 3E4F addlw _MessageBuf
35 0F69 0084 movwf 4
36 0F6A 1383 bcf 3,7
37 0F6B 0864 movf ?a__Push,w
38 0F6C 0080 movwf 0
39 0F6D 0ACF incf _MessageBuf
40 ;message.c: 27: if(MessageBuf[0] >= 10)
41 0F6E 300A movlw 10
42 0F6F 024F subwf _MessageBuf,w
43 0F70 1C03 btfss 3,0
44 0F71 0008 return
45 ;message.c: 28: {
46 0F72 3003 movlw 3
47 0F73 00CF movwf _MessageBuf
48 ;message.c: 30: }
49 0F74 0008 return
50 ;message.c: 70: unsigned char MessagePush(MESSA
+ GE msg)
51 ;message.c: 71: {
52 0F75 _MessagePush
53 ; _msg assigned to ?a_MessagePush+0
54 0000 _MessagePush$msg set ?a_MessagePush
55 ; _ea assigned to ?a_MessagePush+1
56 0000 _MessagePush$ea set ?a_MessagePush+1
57 ;_msg stored from w
58 0F75 0183 clrf 3 ;select bank 0
59 0F76 00E2 movwf ?a_MessagePush
60 ;message.c: 72: unsigned char ea;
61 0F77 3000 movlw 0
62 0F78 1B8B btfsc 11,7
63 0F79 3001 movlw 1
64 0F7A 00E3 movwf ?a_MessagePush+1
65 ;message.c: 75: GIE = 0;
66 0F7B 138B bcf 11,7
67 ;message.c: 76: if(MessageBuf[2] > 1)
68 0F7C 3002 movlw 2
69 0F7D 0251 subwf _MessageBuf+2,w
70 0F7E 1C03 btfss 3,0
71 0F7F 2F8B goto l7
72 ;message.c: 77: {
73 0F80 0862 movf ?a_MessagePush,w
74 0F81 2765 fcall __Push
75 ;message.c: 79: MessageBuf[2] --;
76 0F82 03D1 decf _MessageBuf+2
77 ;message.c: 80: GIE = ea;
78 0F83 0C63 rrf ?a_MessagePush+1,w
79 0F84 1C03 btfss 3,0
80 0F85 2F88 goto u40
81 0F86 178B bsf 11,7
82 0F87 2F89 goto u54
83 0F88 u40
84 0F88 138B bcf 11,7
85 0F89 u54
86 ;message.c: 81: return 1;
87 0F89 3001 movlw 1
88 0F8A 2F92 goto l6
89 0F8B l7
90 ;message.c: 82: }
91 0F8B 0C63 rrf ?a_MessagePush+1,w
92 0F8C 1C03 btfss 3,0
93 0F8D 2F90 goto u60
94 0F8E 178B bsf 11,7
95 0F8F 2F91 goto u74
96 0F90 u60
97 0F90 138B bcf 11,7
98 0F91 u74
99 ;message.c: 84: return 0;
100 0F91 3000 movlw 0
101 ;message.c: 85: }
102 0F92 l6
103 0F92 0183 clrf 3 ;select bank 0
104 0F93 0008 return
105
106 psect text1
107 ;message.c: 38: static unsigned char _Pop(void)
108 ;message.c: 39: {
109 0F94 __Pop
110 ; _temp assigned to ?a__Pop+0
111 0000 __Pop$temp set ?a__Pop
112 ;message.c: 40: unsigned char temp;
113 0F94 0183 clrf 3 ;select bank 0
114 0F95 0AD0 incf _MessageBuf+1
115 0F96 0350 decf _MessageBuf+1,w
116 0F97 3E4F addlw _MessageBuf
117 0F98 0084 movwf 4
118 0F99 1383 bcf 3,7
119 0F9A 0800 movf 0,w
120 0F9B 00DE movwf ?a__Pop
121 ;message.c: 43: MessageBuf[2]++;
122 0F9C 0AD1 incf _MessageBuf+2
123 ;message.c: 44: if(MessageBuf[1] >= 10)
124 0F9D 300A movlw 10
125 0F9E 0250 subwf _MessageBuf+1,w
126 0F9F 1C03 btfss 3,0
127 0FA0 2FA3 goto l4
128 ;message.c: 45: {
129 0FA1 3003 movlw 3
130 0FA2 00D0 movwf _MessageBuf+1
131 0FA3 l4
132 ;message.c: 47: }
133 0FA3 085E movf ?a__Pop,w
134 ;message.c: 49: }
135 0FA4 0008 return
136 ;message.c: 94: unsigned char Message(unsigned
+ char *msg )
137 ;message.c: 95: {
138 0FA5 _Message
139 ; _msg assigned to ?a_Message+0
140 0000 _Message$msg set ?a_Message
141 ;_msg stored from w
142 0FA5 0183 clrf 3 ;select bank 0
143 0FA6 00DD movwf ?a_Message
144 ;message.c: 97: GIE = 0;
145 0FA7 138B bcf 11,7
146 ;message.c: 98: if(10-3-MessageBuf[2] > 0)
147 0FA8 3007 movlw 7
148 0FA9 00F2 movwf btemp
149 0FAA 01F3 clrf btemp+1
150 0FAB 0851 movf _MessageBuf+2,w
151 0FAC 02F2 subwf btemp
152 0FAD 1C03 btfss 3,0
153 0FAE 03F3 decf btemp+1
154 0FAF 0873 movf btemp+1,w
155 0FB0 3A80 xorlw 128
156 0FB1 00F4 movwf btemp+2
157 0FB2 3080 movlw 128
158 0FB3 0274 subwf btemp+2,w
159 0FB4 3001 movlw 1
160 ;set bank bits for btemp
161 0FB5 1903 btfsc 3,2
162 0FB6 0272 subwf btemp,w
163 0FB7 1C03 btfss 3,0
164 0FB8 2FC2 goto l9
165 ;message.c: 99: {
166 0FB9 2794 fcall __Pop
167 0FBA 00F2 movwf btemp
168 0FBB 085D movf ?a_Message,w
169 0FBC 0084 movwf 4
170 0FBD 1383 bcf 3,7
171 0FBE 0872 movf btemp,w
172 0FBF 0080 movwf 0
173 ;message.c: 101: GIE = 1;
174 0FC0 178B bsf 11,7
175 ;message.c: 102: return 1;
176 0FC1 3401 retlw 1
177 0FC2 l9
178 ;message.c: 106: {
179 0FC2 178B bsf 11,7
180 ;message.c: 108: return 0;
181 0FC3 3400 retlw 0
182
183 psect text2
184 ;message.c: 56: void MessageInit(void)
185 ;message.c: 57: {
186 0EC5 _MessageInit
187 ;message.c: 58: MessageBuf[0] = 3;
188 0EC5 3003 movlw 3
189 0EC6 0183 clrf 3 ;select bank 0
190 0EC7 00CF movwf _MessageBuf
191 ;message.c: 59: MessageBuf[1] = 3;
192 0EC8 00D0 movwf _MessageBuf+1
193 ;message.c: 60: MessageBuf[2] = 10 - 3;
194 0EC9 3007 movlw 7
195 0ECA 00D1 movwf _MessageBuf+2
196 ;message.c: 61: }
197 0ECB 0008 return
198
199 psect text5
200 0000
201 0000
202 0000
203 0000
204 0000
205 0000
206 0000
207 0000
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
236 0000
237 0000
238 0000
239 0000
240 0000
241 0000
242 0000
243 0000
244 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -