📄 ex1.ls1
字号:
002C 7A00 F 217 MOV R2,#HIGH (?SC_3)
002E 7900 F 218 MOV R1,#LOW (?SC_3)
0030 120000 F 219 LCALL _printf
220 ;
221 ; }
222 ; SOURCE LINE # 25
0033 80E4 223 SJMP ?C0004
224 ; END OF _?Task2
225
226 ; }
227 ; void SerialInitial()
228
---- 229 RSEG ?PR?SerialInitial?EX1
0000 230 SerialInitial:
231 ; SOURCE LINE # 27
232 ; {
233 ; SOURCE LINE # 28
234 ; /* set TI to 1, set TR1 to 1 */
235 ; SCON = 0x52;/* SM0 SM1 =1 SM2 REN TB8 RB8 TI RI */
236 ; SOURCE LINE # 30
0000 759852 237 MOV SCON,#052H
238 ; TMOD = 0x20;/* GATE=0 C/T-=0 M1 M0=2 GATE C/T- M1 M0 */
239 ; SOURCE LINE # 31
0003 758920 240 MOV TMOD,#020H
241 ; TH1 = 0xFD; /* TH1=E6 4800bit/s when at 24MHz,TH1=F3,9600bit/s,24MHz */
242 ; SOURCE LINE # 32
0006 758DFD 243 MOV TH1,#0FDH
244 ; PCON = 0x00;
245 ; SOURCE LINE # 33
0009 E4 246 CLR A
000A F587 247 MOV PCON,A
248 ; TCON = 0x40;/* 01101001 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT */
249 ; SOURCE LINE # 34
000C 758840 250 MOV TCON,#040H
251 ; }
252 ; SOURCE LINE # 35
000F 22 253 RET
254 ; END OF SerialInitial
255
A51 MACRO ASSEMBLER EX1 03/19/2009 12:41:51 PAGE 5
256 ; void InterruptInitial()
257
---- 258 RSEG ?PR?InterruptInitial?EX1
0000 259 InterruptInitial:
260 ; SOURCE LINE # 36
261 ; {
262 ; SOURCE LINE # 37
263 ; /* set timer. 50ms, THTL = 3caf when cpu at 12MHz */
264 ;
265 ; TMOD |= 0x01;
266 ; SOURCE LINE # 40
0000 438901 267 ORL TMOD,#01H
268 ; TH0 = 0xB1;
269 ; SOURCE LINE # 41
0003 758CB1 270 MOV TH0,#0B1H
271 ; TL0 = 0xE0;
272 ; SOURCE LINE # 42
0006 758AE0 273 MOV TL0,#0E0H
274 ; /* TR0 is set in OSStart() */
275 ; ET0 = 1;
276 ; SOURCE LINE # 44
0009 D2A9 277 SETB ET0
278 ; }
279 ; SOURCE LINE # 45
000B 22 280 RET
281 ; END OF InterruptInitial
282
283 ; main()
284
---- 285 RSEG ?PR?main?EX1
0000 286 main:
287 USING 0
288 ; SOURCE LINE # 46
289 ; {
290 ; SOURCE LINE # 47
291 ; SerialInitial();
292 ; SOURCE LINE # 48
0000 120000 F 293 LCALL SerialInitial
294 ; InterruptInitial();
295 ; SOURCE LINE # 49
0003 120000 F 296 LCALL InterruptInitial
297 ; OSInit();
298 ; SOURCE LINE # 50
0006 120000 F 299 LCALL _?OSInit
300 ; printf("\nstart");
301 ; SOURCE LINE # 51
0009 7BFF 302 MOV R3,#0FFH
000B 7A00 F 303 MOV R2,#HIGH (?SC_6)
000D 7900 F 304 MOV R1,#LOW (?SC_6)
000F 120000 F 305 LCALL _printf
306 ; OSTaskCreate(Task1, (void xdata *)0, &Task1Stack[0],2);
307 ; SOURCE LINE # 52
0012 1500 F 308 DEC ?C_IBP
0014 A800 F 309 MOV R0,?C_IBP
0016 7602 310 MOV @R0,#02H
0018 7A00 F 311 MOV R2,#HIGH (Task1Stack)
001A 7B00 F 312 MOV R3,#LOW (Task1Stack)
001C 7C00 313 MOV R4,#00H
001E 7D00 314 MOV R5,#00H
0020 7E00 F 315 MOV R6,#HIGH (_?Task1)
0022 7F00 F 316 MOV R7,#LOW (_?Task1)
0024 120000 F 317 LCALL _?OSTaskCreate
318 ; OSTaskCreate(Task2, (void xdata *)0, &Task2Stack[0],3);
319 ; SOURCE LINE # 53
0027 1500 F 320 DEC ?C_IBP
0029 A800 F 321 MOV R0,?C_IBP
A51 MACRO ASSEMBLER EX1 03/19/2009 12:41:51 PAGE 6
002B 7603 322 MOV @R0,#03H
002D 7A00 F 323 MOV R2,#HIGH (Task2Stack)
002F 7B00 F 324 MOV R3,#LOW (Task2Stack)
0031 7C00 325 MOV R4,#00H
0033 7D00 326 MOV R5,#00H
0035 7E00 F 327 MOV R6,#HIGH (_?Task2)
0037 7F00 F 328 MOV R7,#LOW (_?Task2)
0039 120000 F 329 LCALL _?OSTaskCreate
330 ; OSStart();
331 ; SOURCE LINE # 54
003C 020000 F 332 LJMP _?OSStart
333 ; END OF main
334
335 END
A51 MACRO ASSEMBLER EX1 03/19/2009 12:41:51 PAGE 7
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C0001 . . . . . . . . . C ADDR 0019H R SEG=?PR?_?TASK1?EX1
?C0004 . . . . . . . . . C ADDR 0019H R SEG=?PR?_?TASK2?EX1
?CO?EX1. . . . . . . . . C SEG 000DH REL=UNIT
?C_IBP . . . . . . . . . D ADDR ----- EXT
?C_STARTUP . . . . . . . C ADDR ----- EXT
?PR?INTERRUPTINITIAL?EX1 C SEG 000CH REL=UNIT
?PR?MAIN?EX1 . . . . . . C SEG 003FH REL=UNIT
?PR?SERIALINITIAL?EX1. . C SEG 0010H REL=UNIT
?PR?_?TASK1?EX1. . . . . C SEG 0035H REL=UNIT
?PR?_?TASK2?EX1. . . . . C SEG 0035H REL=UNIT
?SC_0. . . . . . . . . . C ADDR 0000H R SEG=?CO?EX1
?SC_3. . . . . . . . . . C ADDR 0003H R SEG=?CO?EX1
?SC_6. . . . . . . . . . C ADDR 0006H R SEG=?CO?EX1
?XD?EX1. . . . . . . . . X SEG 01F0H REL=UNIT
?_PRINTF?BYTE. . . . . . D ADDR ----- EXT
AC . . . . . . . . . . . B ADDR 00D0H.6 A
ACC. . . . . . . . . . . D ADDR 00E0H A
AR6. . . . . . . . . . . D ADDR 0006H A
AR7. . . . . . . . . . . D ADDR 0007H A
B. . . . . . . . . . . . D ADDR 00F0H A
CY . . . . . . . . . . . B ADDR 00D0H.7 A
DPH. . . . . . . . . . . D ADDR 0083H A
DPL. . . . . . . . . . . D ADDR 0082H A
EA . . . . . . . . . . . B ADDR 00A8H.7 A
ES . . . . . . . . . . . B ADDR 00A8H.4 A
ET0. . . . . . . . . . . B ADDR 00A8H.1 A
ET1. . . . . . . . . . . B ADDR 00A8H.3 A
EX0. . . . . . . . . . . B ADDR 00A8H.0 A
EX1. . . . . . . . . . . B ADDR 00A8H.2 A
F0 . . . . . . . . . . . B ADDR 00D0H.5 A
IE . . . . . . . . . . . D ADDR 00A8H A
IE0. . . . . . . . . . . B ADDR 0088H.1 A
IE1. . . . . . . . . . . B ADDR 0088H.3 A
INT0 . . . . . . . . . . B ADDR 00B0H.2 A
INT1 . . . . . . . . . . B ADDR 00B0H.3 A
INTERRUPTINITIAL . . . . C ADDR 0000H R SEG=?PR?INTERRUPTINITIAL?EX1
IP . . . . . . . . . . . D ADDR 00B8H A
IT0. . . . . . . . . . . B ADDR 0088H.0 A
IT1. . . . . . . . . . . B ADDR 0088H.2 A
MAIN . . . . . . . . . . C ADDR 0000H R SEG=?PR?MAIN?EX1
OV . . . . . . . . . . . B ADDR 00D0H.2 A
P. . . . . . . . . . . . B ADDR 00D0H.0 A
P0 . . . . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . . . . D ADDR 00B0H A
PCON . . . . . . . . . . D ADDR 0087H A
PS . . . . . . . . . . . B ADDR 00B8H.4 A
PSW. . . . . . . . . . . D ADDR 00D0H A
PT0. . . . . . . . . . . B ADDR 00B8H.1 A
PT1. . . . . . . . . . . B ADDR 00B8H.3 A
PX0. . . . . . . . . . . B ADDR 00B8H.0 A
PX1. . . . . . . . . . . B ADDR 00B8H.2 A
RB8. . . . . . . . . . . B ADDR 0098H.2 A
RD . . . . . . . . . . . B ADDR 00B0H.7 A
REN. . . . . . . . . . . B ADDR 0098H.4 A
RI . . . . . . . . . . . B ADDR 0098H.0 A
RS0. . . . . . . . . . . B ADDR 00D0H.3 A
RS1. . . . . . . . . . . B ADDR 00D0H.4 A
RXD. . . . . . . . . . . B ADDR 00B0H.0 A
A51 MACRO ASSEMBLER EX1 03/19/2009 12:41:51 PAGE 8
SBUF . . . . . . . . . . D ADDR 0099H A
SCON . . . . . . . . . . D ADDR 0098H A
SERIALINITIAL. . . . . . C ADDR 0000H R SEG=?PR?SERIALINITIAL?EX1
SM0. . . . . . . . . . . B ADDR 0098H.7 A
SM1. . . . . . . . . . . B ADDR 0098H.6 A
SM2. . . . . . . . . . . B ADDR 0098H.5 A
SP . . . . . . . . . . . D ADDR 0081H A
T0 . . . . . . . . . . . B ADDR 00B0H.4 A
T1 . . . . . . . . . . . B ADDR 00B0H.5 A
TASK1STACK . . . . . . . X ADDR 0000H R SEG=?XD?EX1
TASK2STACK . . . . . . . X ADDR 00F8H R SEG=?XD?EX1
TB8. . . . . . . . . . . B ADDR 0098H.3 A
TCON . . . . . . . . . . D ADDR 0088H A
TF0. . . . . . . . . . . B ADDR 0088H.5 A
TF1. . . . . . . . . . . B ADDR 0088H.7 A
TH0. . . . . . . . . . . D ADDR 008CH A
TH1. . . . . . . . . . . D ADDR 008DH A
TI . . . . . . . . . . . B ADDR 0098H.1 A
TL0. . . . . . . . . . . D ADDR 008AH A
TL1. . . . . . . . . . . D ADDR 008BH A
TMOD . . . . . . . . . . D ADDR 0089H A
TR0. . . . . . . . . . . B ADDR 0088H.4 A
TR1. . . . . . . . . . . B ADDR 0088H.6 A
TXD. . . . . . . . . . . B ADDR 00B0H.1 A
WR . . . . . . . . . . . B ADDR 00B0H.6 A
_?OSINIT . . . . . . . . C ADDR ----- EXT
_?OSSTART. . . . . . . . C ADDR ----- EXT
_?OSTASKCREATE . . . . . C ADDR ----- EXT
_?OSTIMEDLYHMSM. . . . . C ADDR ----- EXT
_?TASK1. . . . . . . . . C ADDR 0000H R SEG=?PR?_?TASK1?EX1
_?TASK2. . . . . . . . . C ADDR 0000H R SEG=?PR?_?TASK2?EX1
_PRINTF. . . . . . . . . C ADDR ----- EXT
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -