⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 task.ls1

📁 基本STC4052写的一个小的OS, 完成了任务调度功能,及堆栈空间切换, 及中断处理
💻 LS1
📖 第 1 页 / 共 2 页
字号:
0018 7F01            259             MOV     R7,#01H
001A 7B03            260             MOV     R3,#03H
001C 120000   F      261             LCALL   _?SRL_SendPack
                     262     ;               }
                     263                             ; SOURCE LINE # 62
                     264     ;           }
                     265                             ; SOURCE LINE # 63
001F                 266     ?C0005:
                     267     ;           OsWaitMsg();
                     268                             ; SOURCE LINE # 64
001F 120000   F      269             LCALL   _?OsWaitMsg
                     270     ;       }
                     271                             ; SOURCE LINE # 65
0022 80E2            272             SJMP    ?C0003
                     273     ; END OF _?Task_IR
                     274     
                     275     ; }
                     276     ; 
                     277     ; void Task_Uart(void)  REENTRANT
                     278     
----                 279             RSEG  ?PR?_?Task_Uart?TASK
0000                 280     _?Task_Uart:
                     281             USING   0
                     282                             ; SOURCE LINE # 68
0000 E500     F      283             MOV     A,?C_IBP
0002 24FA            284             ADD     A,#0FAH
0004 F500     F      285             MOV     ?C_IBP,A
0006                 286     ?C0008:
                     287     ; {
                     288     ;       U8 buf[4];
                     289     ;     U8 len;
                     290     ;     U8 tmp ;
                     291     ;       while (1)
                     292                             ; SOURCE LINE # 73
                     293     ;       {
                     294                             ; SOURCE LINE # 74
                     295     ;               tmp = 0;
                     296                             ; SOURCE LINE # 75
0006 E500     F      297             MOV     A,?C_IBP
0008 2405            298             ADD     A,#05H
000A F8              299             MOV     R0,A
000B E4              300             CLR     A
000C F6              301             MOV     @R0,A
                     302     ;               if (SRL_GetRevStatus()) 
                     303                             ; SOURCE LINE # 76
000D 30002F   F      304             JNB     gbRxFinish,?C0010
                     305     ;               {
                     306                             ; SOURCE LINE # 77
                     307     ;                   len = SRL_GetRevPack(&tmp,buf);
                     308                             ; SOURCE LINE # 78
0010 AD00     F      309             MOV     R5,?C_IBP
0012 FB              310             MOV     R3,A
0013 E500     F      311             MOV     A,?C_IBP
0015 2405            312             ADD     A,#05H
0017 F9              313             MOV     R1,A
0018 7A00            314             MOV     R2,#00H
001A 120000   F      315             LCALL   _?SRL_GetRevPack
001D E500     F      316             MOV     A,?C_IBP
001F 2404            317             ADD     A,#04H
0021 F8              318             MOV     R0,A
0022 A607            319             MOV     @R0,AR7
                     320     ;                       if (0x00==tmp)
                     321                             ; SOURCE LINE # 79
0024 E500     F      322             MOV     A,?C_IBP
A51 MACRO ASSEMBLER  TASK                                                                 11/23/2006 08:17:48 PAGE     6

0026 2405            323             ADD     A,#05H
0028 F8              324             MOV     R0,A
0029 E6              325             MOV     A,@R0
002A FF              326             MOV     R7,A
002B 6017            327             JZ      ?C0012
                     328     ;                       {       return;   
                     329                             ; SOURCE LINE # 80
                     330     ;                       }
                     331                             ; SOURCE LINE # 81
002D                 332     ?C0011:
                     333     ;                       switch (tmp)
                     334                             ; SOURCE LINE # 82
002D EF              335             MOV     A,R7
002E 24B0            336             ADD     A,#0B0H
0030 700D            337             JNZ     ?C0010
                     338     ;                       {
                     339                             ; SOURCE LINE # 83
                     340     ;                       case VERSION_EVENT:  //0x50
                     341                             ; SOURCE LINE # 84
0032                 342     ?C0014:
                     343     ;                               *buf = SOFT_VERSION;
                     344                             ; SOURCE LINE # 85
0032 A800     F      345             MOV     R0,?C_IBP
0034 7664            346             MOV     @R0,#064H
                     347     ;                               SRL_SendPack(VERSION_EVENT,buf,1);
                     348                             ; SOURCE LINE # 86
0036 AD00     F      349             MOV     R5,?C_IBP
0038 7F50            350             MOV     R7,#050H
003A 7B01            351             MOV     R3,#01H
003C 120000   F      352             LCALL   _?SRL_SendPack
                     353     ;                               break;
                     354                             ; SOURCE LINE # 87
                     355     ;               default:
                     356                             ; SOURCE LINE # 88
                     357     ;                      break;
                     358                             ; SOURCE LINE # 89
                     359     ;                       }
                     360                             ; SOURCE LINE # 90
                     361     ;               }
                     362                             ; SOURCE LINE # 91
003F                 363     ?C0010:
                     364     ;               OsWaitMsg();
                     365                             ; SOURCE LINE # 92
003F 120000   F      366             LCALL   _?OsWaitMsg
                     367     ;       }
                     368                             ; SOURCE LINE # 93
0042 80C2            369             SJMP    ?C0008
                     370     ; }
                     371                             ; SOURCE LINE # 94
0044                 372     ?C0012:
0044 E500     F      373             MOV     A,?C_IBP
0046 2406            374             ADD     A,#06H
0048 F500     F      375             MOV     ?C_IBP,A
004A 22              376             RET     
                     377     ; END OF _?Task_Uart
                     378     
                     379             END
A51 MACRO ASSEMBLER  TASK                                                                 11/23/2006 08:17:48 PAGE     7

SYMBOL TABLE LISTING
------ ----- -------


N A M E               T Y P E  V A L U E   ATTRIBUTES

?C0001 . . . . . . .  C ADDR   000BH   R   SEG=?PR?_?MCUINIT?TASK
?C0002 . . . . . . .  C ADDR   0026H   R   SEG=?PR?_?MCUINIT?TASK
?C0003 . . . . . . .  C ADDR   0006H   R   SEG=?PR?_?TASK_IR?TASK
?C0005 . . . . . . .  C ADDR   001FH   R   SEG=?PR?_?TASK_IR?TASK
?C0008 . . . . . . .  C ADDR   0006H   R   SEG=?PR?_?TASK_UART?TASK
?C0010 . . . . . . .  C ADDR   003FH   R   SEG=?PR?_?TASK_UART?TASK
?C0011 . . . . . . .  C ADDR   002DH   R   SEG=?PR?_?TASK_UART?TASK
?C0012 . . . . . . .  C ADDR   0044H   R   SEG=?PR?_?TASK_UART?TASK
?C0014 . . . . . . .  C ADDR   0032H   R   SEG=?PR?_?TASK_UART?TASK
?C_IBP . . . . . . .  D ADDR   -----       EXT
?DT?TASK . . . . . .  D SEG    0003H       REL=UNIT
?PR?_?MCUINIT?TASK .  C SEG    0027H       REL=UNIT
?PR?_?TASK_IR?TASK .  C SEG    0024H       REL=UNIT
?PR?_?TASK_UART?TASK  C SEG    004BH       REL=UNIT
AC . . . . . . . . .  B ADDR   00D0H.6 A   
ACC. . . . . . . . .  D ADDR   00E0H   A   
ADC_CONTR. . . . . .  D ADDR   00C5H   A   
ADC_DATA . . . . . .  D ADDR   00C6H   A   
AR7. . . . . . . . .  D ADDR   0007H   A   
AUXR . . . . . . . .  D ADDR   008EH   A   
B. . . . . . . . . .  D ADDR   00F0H   A   
CCAP0H . . . . . . .  D ADDR   00FAH   A   
CCAP0L . . . . . . .  D ADDR   00EAH   A   
CCAP1H . . . . . . .  D ADDR   00FBH   A   
CCAP1L . . . . . . .  D ADDR   00EBH   A   
CCAPM0 . . . . . . .  D ADDR   00DAH   A   
CCAPM1 . . . . . . .  D ADDR   00DBH   A   
CCF0 . . . . . . . .  B ADDR   00D8H.0 A   
CCF1 . . . . . . . .  B ADDR   00D8H.1 A   
CCON . . . . . . . .  D ADDR   00D8H   A   
CF . . . . . . . . .  B ADDR   00D8H.7 A   
CH . . . . . . . . .  D ADDR   00F9H   A   
CL . . . . . . . . .  D ADDR   00E9H   A   
CMOD . . . . . . . .  D ADDR   00D9H   A   
CR . . . . . . . . .  B ADDR   00D8H.6 A   
CY . . . . . . . . .  B ADDR   00D0H.7 A   
DPH. . . . . . . . .  D ADDR   0083H   A   
DPL. . . . . . . . .  D ADDR   0082H   A   
EA . . . . . . . . .  B ADDR   00A8H.7 A   
EPCA . . . . . . . .  B ADDR   00A8H.6 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   
GBRXFINISH . . . . .  B ADDR   -----       EXT
GU8IRSTATE . . . . .  D ADDR   -----       EXT
IDLE_CLK . . . . . .  D ADDR   00C7H   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   
IP . . . . . . . . .  D ADDR   00B8H   A   
IPH. . . . . . . . .  D ADDR   00B7H   A   
ISP_ADDRH. . . . . .  D ADDR   00E3H   A   
ISP_ADDRL. . . . . .  D ADDR   00E4H   A   
ISP_CMD. . . . . . .  D ADDR   00E5H   A   
ISP_CONTR. . . . . .  D ADDR   00E7H   A   
A51 MACRO ASSEMBLER  TASK                                                                 11/23/2006 08:17:48 PAGE     8

ISP_DATA . . . . . .  D ADDR   00E2H   A   
ISP_TRIG . . . . . .  D ADDR   00E6H   A   
ISRADRFUN. . . . . .  C ADDR   -----       EXT
IT0. . . . . . . . .  B ADDR   0088H.0 A   
IT1. . . . . . . . .  B ADDR   0088H.2 A   
OV . . . . . . . . .  B ADDR   00D0H.2 A   
P. . . . . . . . . .  B ADDR   00D0H.0 A   
P0 . . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . . .  D ADDR   0090H   A   
P1M0 . . . . . . . .  D ADDR   0091H   A   
P1M1 . . . . . . . .  D ADDR   0092H   A   
P2 . . . . . . . . .  D ADDR   00A0H   A   
P3 . . . . . . . . .  D ADDR   00B0H   A   
P3M0 . . . . . . . .  D ADDR   00B1H   A   
P3M1 . . . . . . . .  D ADDR   00B2H   A   
PCAPWM0. . . . . . .  D ADDR   00F2H   A   
PCAPWM1. . . . . . .  D ADDR   00F3H   A   
PCON . . . . . . . .  D ADDR   0087H   A   
PININT0. . . . . . .  B ADDR   00B0H.3 A   
PINPOWER404. . . . .  B ADDR   0090H.6 A   
PINWAKEUP404 . . . .  B ADDR   0090H.7 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   
SBUF . . . . . . . .  D ADDR   0099H   A   
SCON . . . . . . . .  D ADDR   0098H   A   
SM0. . . . . . . . .  B ADDR   0098H.7 A   
SM1. . . . . . . . .  B ADDR   0098H.6 A   
SM2. . . . . . . . .  B ADDR   0098H.5 A   
SP . . . . . . . . .  D ADDR   0081H   A   
SPCTL. . . . . . . .  D ADDR   0085H   A   
SPDAT. . . . . . . .  D ADDR   0086H   A   
SPSTAT . . . . . . .  D ADDR   0084H   A   
SYS10MS. . . . . . .  D ADDR   0002H   R   SEG=?DT?TASK
SYSTIMETICK. . . . .  D ADDR   0000H   R   SEG=?DT?TASK
T0 . . . . . . . . .  B ADDR   00B0H.4 A   
T1 . . . . . . . . .  B ADDR   00B0H.5 A   
TASK . . . . . . . .  N NUMB   -----       
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   
WDT_CONTR. . . . . .  D ADDR   00E1H   A   
WR . . . . . . . . .  B ADDR   00B0H.6 A   
_?IR_GETREVDATA. . .  C ADDR   -----       EXT
_?IR_INIT. . . . . .  C ADDR   -----       EXT
_?MCUINIT. . . . . .  C ADDR   0000H   R   SEG=?PR?_?MCUINIT?TASK
A51 MACRO ASSEMBLER  TASK                                                                 11/23/2006 08:17:48 PAGE     9

_?OSWAITMSG. . . . .  C ADDR   -----       EXT
_?SRL_GETREVPACK . .  C ADDR   -----       EXT
_?SRL_INIT . . . . .  C ADDR   -----       EXT
_?SRL_SENDPACK . . .  C ADDR   -----       EXT
_?TASK_IR. . . . . .  C ADDR   0000H   R   SEG=?PR?_?TASK_IR?TASK
_?TASK_UART. . . . .  C ADDR   0000H   R   SEG=?PR?_?TASK_UART?TASK


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -