?? task0.lst
字號:
C51 COMPILER V8.08 TASK0 03/23/2009 13:06:21 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE TASK0
OBJECT MODULE PLACED IN Task0.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Task0.c BROWSE DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBOLS PREPRINT
line level source
1 /******************************************************************************/
2 /* */
3 /* Task 0: Create other Tasks and Count up Every 5 ticks */
4 /* */
5 /******************************************************************************/
6
7 #include <rtx51tny.h> /* RTX-51 tiny functions & defines */
1 =1 /*--------------------------------------------------------------------------
2 =1 RTX51TNY.H
3 =1
4 =1 Prototypes for RTX51 Tiny Real-Time Operating System Version 2.02
5 =1 Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 #ifndef __RTX51TNY_H__
10 =1 #define __RTX51TNY_H__
11 =1
12 =1
13 =1 /* constants for os_wait function */
14 =1 #define K_SIG 0x01 /* Wait for Signal */
15 =1 #define K_TMO 0x02 /* Wait for Timeout */
16 =1 #define K_IVL 0x80 /* Wait for Interval */
17 =1
18 =1 /* function return values */
19 =1 #define NOT_OK 0xFF /* Parameter Error */
20 =1 #define TMO_EVENT 0x08 /* Timeout Event */
21 =1 #define SIG_EVENT 0x04 /* Signal Event */
22 =1 #define RDY_EVENT 0x80 /* Ready Event */
23 =1
24 =1 extern unsigned char os_create_task (unsigned char task_id);
25 =1 extern unsigned char os_delete_task (unsigned char task_id);
26 =1
27 =1 extern unsigned char os_wait (unsigned char typ,
28 =1 unsigned char ticks,
29 =1 unsigned int dummy);
30 =1 extern unsigned char os_wait1 (unsigned char typ);
31 =1 extern unsigned char os_wait2 (unsigned char typ,
32 =1 unsigned char ticks);
33 =1
34 =1 extern unsigned char os_send_signal (unsigned char task_id);
35 =1 extern unsigned char os_clear_signal (unsigned char task_id);
36 =1 extern unsigned char isr_send_signal (unsigned char task_id);
37 =1
38 =1 extern void os_set_ready (unsigned char task_id);
39 =1 extern void isr_set_ready (unsigned char task_id);
40 =1
41 =1 extern unsigned char os_running_task_id (void);
42 =1 extern unsigned char os_switch_task (void);
43 =1
44 =1 extern void os_reset_interval (unsigned char ticks);
45 =1
46 =1 #endif
8
9 unsigned long counter0; /* counter for task 0 */
C51 COMPILER V8.08 TASK0 03/23/2009 13:06:21 PAGE 2
10
11 /******************************************************************************/
12 /* Task 0 'job0': RTX-51 tiny starts execution with task 0 */
13 /******************************************************************************/
14 void job0 (void) _task_ 0 {
15 1 os_create_task (1); /* start task 1 */
16 1 os_create_task (2); /* start task 2 */
17 1 os_create_task (3); /* start task 3 */
18 1
19 1 while (1) { /* endless loop */
20 2 counter0++; /* increment counter 0 */
21 2 os_wait (K_TMO, 5, 0); /* wait for timeout: 5 ticks */
22 2 }
23 1 }
24
C51 COMPILER V8.08 TASK0 03/23/2009 13:06:21 PAGE 3
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION job0 (BEGIN)
; SOURCE LINE # 14
; SOURCE LINE # 15
0000 7F01 MOV R7,#01H
0002 120000 E LCALL _os_create_task
; SOURCE LINE # 16
0005 7F02 MOV R7,#02H
0007 120000 E LCALL _os_create_task
; SOURCE LINE # 17
000A 7F03 MOV R7,#03H
000C 120000 E LCALL _os_create_task
000F ?C0001:
; SOURCE LINE # 19
; SOURCE LINE # 20
000F E500 R MOV A,counter0+03H
0011 2401 ADD A,#01H
0013 F500 R MOV counter0+03H,A
0015 E4 CLR A
0016 3500 R ADDC A,counter0+02H
0018 F500 R MOV counter0+02H,A
001A E4 CLR A
001B 3500 R ADDC A,counter0+01H
001D F500 R MOV counter0+01H,A
001F E4 CLR A
0020 3500 R ADDC A,counter0
0022 F500 R MOV counter0,A
; SOURCE LINE # 21
0024 E4 CLR A
0025 FB MOV R3,A
0026 FA MOV R2,A
0027 7D05 MOV R5,#05H
0029 7F02 MOV R7,#02H
002B 120000 E LCALL _os_wait
; SOURCE LINE # 22
002E 80DF SJMP ?C0001
; FUNCTION job0 (END)
C51 COMPILER V8.08 TASK0 03/23/2009 13:06:21 PAGE 4
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
counter0 . . . . . . . . . . . . . . . PUBLIC DATA U_LONG 0000H 4
_os_create_task. . . . . . . . . . . . EXTERN CODE PROC ----- -----
job0 . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_os_wait . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 48 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -