📄 main.lst
字号:
HI-TECH Software PICC Macro Assembler V8.01
Serial number: HCPIC-00126892 Sun Nov 17 13:53:24 2002
Licensed to: THE ONE AND ONLY FREESTYLERS
1 processor 16F877
2 opt pw 79
3 psect __Z00126892RS_,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 text3,local,class=CODE,delta=2
8 psect text4,local,class=CODE,delta=2
9 psect text5,local,class=CODE,delta=2
10 psect text6,local,class=CODE,delta=2
11 psect text7,local,class=CODE,delta=2
12 psect text8,local,class=CODE,delta=2
13 psect text9,local,class=CODE,delta=2
14 psect text10,local,class=CODE,delta=2
15 psect text11,local,class=CODE,delta=2
16 psect text12,local,class=CODE,delta=2
17 psect text13,local,class=CODE,delta=2
18 psect text14,local,class=CODE,delta=2
19 psect text15,local,class=CODE,delta=2
20 psect text16,local,class=CODE,delta=2
21 psect text17,local,class=CODE,delta=2
22 psect text18,local,class=CODE,delta=2
23 psect intcode,global,class=CODE,delta=2
24 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
25 psect intret,global,class=CODE,delta=2
26 psect intentry,global,class=CODE,delta=2
27 psect intsave,global,class=BANK0,space=1,delta
+ =1
28 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
29 psect strings,global,class=STRING,delta=2
30 0000
31 0000
32 0000
33 0000
34 0000
35 0000
36 0000
37 0000
38 0000
39 0000
40
41 psect __Z00126892RS_
42 0191
43 0191 ;#
44
45 psect text0
46 02F3 _OS_Ver
47 ;jamain.h: 11: asm("save_address macro"); asm("
+ local label"); asm("global ?_OS_Cooperate_");
+ asm("global _OS_Cooperate_"); asm("movlw high
+ label"); asm("movwf ?_OS_Cooperate_ + 1"); asm
+ ("movlw low label"); asm("ljmp _OS_Cooperate
+ _"); asm("label:...
48 02F3 endm 0 ;jamain.h: 15: }
49 02F3 0183 clrf 3
50 02F4 0008 return
51
52 psect text1
53 056D _T1
54 ;MAIN.C: 14: while(1) {
55 056D l12
56 ;MAIN.C: 15: counter++;
57 056D 1283 bcf 3,5
58 056E 1303 bcf 3,6
59 056F 0AA0 incf _counter
60 0570 1903 btfsc 3,2
61 0571 0AA1 incf _counter+1
62 ;MAIN.C: 16: { ; os_timer_delay = 10; os_status
+ .state_parts.wait_timer = 1; { os_status.state_
+ parts.task_run = 0; asm("save_address");};};
63 0572 300A movlw 10
64 0573 0080 movwf _os_timer_delay
65 0574 1600 bsf _os_status,4 ;volatile
66 0575 1180 bcf _os_status,3 ;#
67 0576 3005 movlw high ??0000 ;#
68 0577 0084 movwf ?_OS_Cooperate_+1 ;#
69 0578 307C movlw low ??0000 ;#
70 0579 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
71 057C ??0000
72 ;#
73 ;MAIN.C: 17: counter++;
74 057C 0AA0 incf _counter
75 057D 1903 btfsc 3,2
76 057E 0AA1 incf _counter+1
77 ;MAIN.C: 18: (void)OS_Post_Bin_(&semaphore1);
78 057F 3028 movlw _semaphore1
79 0580 120A 118A 23B0 fcall _OS_Post_Bin_
80 ;MAIN.C: 19: { ; os_timer_delay = 10; os_status
+ .state_parts.wait_timer = 1; { os_status.state_
+ parts.task_run = 0; asm("save_address");};};
81 0583 300A movlw 10
82 0584 0080 movwf _os_timer_delay
83 0585 1600 bsf _os_status,4 ;volatile
84 0586 1180 bcf _os_status,3 ;#
85 0587 3005 movlw high ??0001 ;#
86 0588 0084 movwf ?_OS_Cooperate_+1 ;#
87 0589 308D movlw low ??0001 ;#
88 058A 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
89 058D ??0001
90 ;#
91 ;MAIN.C: 20: counter++;
92 058D 0AA0 incf _counter
93 058E 1903 btfsc 3,2
94 058F 0AA1 incf _counter+1
95 ;MAIN.C: 21: (void)OS_Post_Bin_(&semaphore2);
96 0590 302A movlw _semaphore2
97 0591 120A 118A 23B0 fcall _OS_Post_Bin_
98 ;MAIN.C: 22: { ; os_timer_delay = 10; os_status
+ .state_parts.wait_timer = 1; { os_status.state_
+ parts.task_run = 0; asm("save_address");};};
99 0594 300A movlw 10
100 0595 0080 movwf _os_timer_delay
101 0596 1600 bsf _os_status,4 ;volatile
102 0597 1180 bcf _os_status,3 ;#
103 0598 3005 movlw high ??0002 ;#
104 0599 0084 movwf ?_OS_Cooperate_+1 ;#
105 059A 309E movlw low ??0002 ;#
106 059B 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
107 059E ??0002
108 ;#
109 ;MAIN.C: 23: counter++;
110 059E 0AA0 incf _counter
111 059F 1903 btfsc 3,2
112 05A0 0AA1 incf _counter+1
113 ;MAIN.C: 24: (void)OS_Post_Msg_(&message1,&coun
+ ter);
114 05A1 3020 movlw _counter
115 05A2 0083 movwf ?_OS_Post_Msg_
116 05A3 3024 movlw _message1
117 05A4 120A 118A 23EB fcall _OS_Post_Msg_
118 ;MAIN.C: 25: { ; os_timer_delay = 10; os_status
+ .state_parts.wait_timer = 1; { os_status.state_
+ parts.task_run = 0; asm("save_address");};};
119 05A7 300A movlw 10
120 05A8 0080 movwf _os_timer_delay
121 05A9 1600 bsf _os_status,4 ;volatile
122 05AA 1180 bcf _os_status,3 ;#
123 05AB 3005 movlw high ??0003 ;#
124 05AC 0084 movwf ?_OS_Cooperate_+1 ;#
125 05AD 30B1 movlw low ??0003 ;#
126 05AE 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
127 05B1 ??0003
128 ;#
129 ;MAIN.C: 26: counter++;
130 05B1 0AA0 incf _counter
131 05B2 1903 btfsc 3,2
132 05B3 0AA1 incf _counter+1
133 ;MAIN.C: 27: (void)OS_Post_Msg_(&message2,&coun
+ ter);
134 05B4 3020 movlw _counter
135 05B5 0083 movwf ?_OS_Post_Msg_
136 05B6 3026 movlw _message2
137 05B7 120A 118A 23EB fcall _OS_Post_Msg_
138 ;MAIN.C: 28: { ; os_timer_delay = 10; os_status
+ .state_parts.wait_timer = 1; { os_status.state_
+ parts.task_run = 0; asm("save_address");};};
139 05BA 300A movlw 10
140 05BB 0080 movwf _os_timer_delay
141 05BC 1600 bsf _os_status,4 ;volatile
142 05BD 1180 bcf _os_status,3 ;#
143 05BE 3005 movlw high ??0004 ;#
144 05BF 0084 movwf ?_OS_Cooperate_+1 ;#
145 05C0 30C4 movlw low ??0004 ;#
146 05C1 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
147 05C4 ??0004
148 ;#
149 ;MAIN.C: 29: counter++;
150 05C4 0AA0 incf _counter
151 05C5 1903 btfsc 3,2
152 05C6 0AA1 incf _counter+1
153 ;MAIN.C: 30: OS_Post_Flag_(&flags,0x01);
154 05C7 0183 clrf ?_OS_Post_Flag_
155 05C8 0A83 incf ?_OS_Post_Flag_
156 05C9 3022 movlw _flags
157 05CA 120A 118A 23CD fcall _OS_Post_Flag_
158 ;MAIN.C: 31: { ; os_timer_delay = 10; os_status
+ .state_parts.wait_timer = 1; { os_status.state_
+ parts.task_run = 0; asm("save_address");};};
159 05CD 300A movlw 10
160 05CE 0080 movwf _os_timer_delay
161 05CF 1600 bsf _os_status,4 ;volatile
162 05D0 1180 bcf _os_status,3 ;#
163 05D1 3005 movlw high ??0005 ;#
164 05D2 0084 movwf ?_OS_Cooperate_+1 ;#
165 05D3 30D7 movlw low ??0005 ;#
166 05D4 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
167 05D7 ??0005
168 ;#
169 ;MAIN.C: 32: counter++;
170 05D7 0AA0 incf _counter
171 05D8 1903 btfsc 3,2
172 05D9 0AA1 incf _counter+1
173 ;MAIN.C: 33: OS_Post_Flag_(&flags,0x02);
174 05DA 3002 movlw 2
175 05DB 0083 movwf ?_OS_Post_Flag_
176 05DC 3022 movlw _flags
177 05DD 120A 118A 23CD fcall _OS_Post_Flag_
+ 120A 118A
178 ;MAIN.C: 34: }
179 05E2 2D6D goto l12
180
181 psect text2
182 ;MAIN.C: 37: void T2( void )
183 ;MAIN.C: 38: {
184 0428 _T2
185 ;MAIN.C: 39: while(1) {
186 0428 l16
187 ;MAIN.C: 40: counter++;
188 0428 1283 bcf 3,5
189 0429 1303 bcf 3,6
190 042A 0AA0 incf _counter
191 042B 1903 btfsc 3,2
192 042C 0AA1 incf _counter+1
193 042D l20
194 ;MAIN.C: 41: { do { ; if ( (&semaphore1)->event
+ .e_code != 0 ) break; os_event_wait = (&semapho
+ re1); os_status.state_parts.wait_event = 1; { o
+ s_status.state_parts.task_run = 0; asm("save_ad
+ dress");}; } while(1); (&semaphore1)->event.e_c
+ ode--; ; };
195 042D 08A9 movf _semaphore1+1
196 042E 1D03 btfss 3,2
197 042F 2C3B goto l19
198 0430 3028 movlw _semaphore1
199 0431 0080 movwf _os_event_wait
200 0432 1680 bsf _os_status,5 ;volatile
201 0433 1180 bcf _os_status,3 ;#
202 0434 3004 movlw high ??0006 ;#
203 0435 0084 movwf ?_OS_Cooperate_+1 ;#
204 0436 303A movlw low ??0006 ;#
205 0437 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
206 043A ??0006
207 ;#
208 043A 2C2D goto l20
209 043B l19
210 043B 03A9 decf _semaphore1+1
211 ;MAIN.C: 42: counter++;
212 043C 0AA0 incf _counter
213 043D 1903 btfsc 3,2
214 043E 0AA1 incf _counter+1
215 ;MAIN.C: 43: { os_status.state_parts.task_run =
+ 0; asm("save_address");};
216 043F 1180 bcf _os_status,3 ;#
217 0440 3004 movlw high ??0007 ;#
218 0441 0084 movwf ?_OS_Cooperate_+1 ;#
219 0442 3046 movlw low ??0007 ;#
220 0443 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
221 0446 ??0007
222 ;#
223 ;MAIN.C: 44: }
224 0446 2C28 goto l16
225
226 psect text3
227 ;MAIN.C: 47: void T3( void )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -