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

📄 task.ls1

📁 基本STC4052写的一个小的OS, 完成了任务调度功能,及堆栈空间切换, 及中断处理
💻 LS1
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  TASK                                                                 11/23/2006 08:17:48 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN .\OBJ\task.OBJ
ASSEMBLER INVOKED BY: C:\Keil3\C51\BIN\A51.EXE .\OBJ\task.src PR(.\OBJ\task.ls1) EP

LOC  OBJ            LINE     SOURCE

                       1     ; .\OBJ\task.SRC generated from: task.c
                       2     ; COMPILER INVOKED BY:
                       3     ;        C:\Keil3\C51\BIN\C51.EXE task.c NOPRINT SRC(.\OBJ\task.SRC)
                       4     
                       5     $nomod51 
                       6     
                       7     NAME    TASK
                       8     
  0091                 9     P1M0    DATA    091H
  0092                10     P1M1    DATA    092H
  0080                11     P0      DATA    080H
  00B1                12     P3M0    DATA    0B1H
  0090                13     P1      DATA    090H
  00B2                14     P3M1    DATA    0B2H
  00A0                15     P2      DATA    0A0H
  00B0                16     P3      DATA    0B0H
  00B4                17     T0      BIT     0B0H.4
  00D6                18     AC      BIT     0D0H.6
  00B5                19     T1      BIT     0B0H.5
  00E6                20     ISP_TRIG        DATA    0E6H
  00AF                21     EA      BIT     0A8H.7
  0085                22     SPCTL   DATA    085H
  00DF                23     CF      BIT     0D8H.7
  00F9                24     CH      DATA    0F9H
  00A8                25     IE      DATA    0A8H
  00E9                26     CL      DATA    0E9H
  00FA                27     CCAP0H  DATA    0FAH
  00FB                28     CCAP1H  DATA    0FBH
  00DE                29     CR      BIT     0D8H.6
  00EA                30     CCAP0L  DATA    0EAH
  00B7                31     RD      BIT     0B0H.7
  00EB                32     CCAP1L  DATA    0EBH
  00DA                33     CCAPM0  DATA    0DAH
  00DB                34     CCAPM1  DATA    0DBH
  00AC                35     ES      BIT     0A8H.4
  00B8                36     IP      DATA    0B8H
  00AE                37     EPCA    BIT     0A8H.6
  0098                38     RI      BIT     098H.0
  00B2                39     INT0    BIT     0B0H.2
  00D7                40     CY      BIT     0D0H.7
  0099                41     TI      BIT     098H.1
  00B3                42     INT1    BIT     0B0H.3
  00E5                43     ISP_CMD DATA    0E5H
  00BC                44     PS      BIT     0B8H.4
  0081                45     SP      DATA    081H
  00D9                46     CMOD    DATA    0D9H
  00D8                47     CCON    DATA    0D8H
  00D2                48     OV      BIT     0D0H.2
  00B3                49     pinInt0 BIT     0B0H.3
  00B6                50     WR      BIT     0B0H.6
  00C5                51     ADC_CONTR       DATA    0C5H
  0087                52     PCON    DATA    087H
  0099                53     SBUF    DATA    099H
  00E3                54     ISP_ADDRH       DATA    0E3H
  0098                55     SCON    DATA    098H
  0088                56     TCON    DATA    088H
  0089                57     TMOD    DATA    089H
  00E4                58     ISP_ADDRL       DATA    0E4H
A51 MACRO ASSEMBLER  TASK                                                                 11/23/2006 08:17:48 PAGE     2

  0089                59     IE0     BIT     088H.1
  008B                60     IE1     BIT     088H.3
  008E                61     AUXR    DATA    08EH
  00F0                62     B       DATA    0F0H
  00C6                63     ADC_DATA        DATA    0C6H
  00E0                64     ACC     DATA    0E0H
  00A9                65     ET0     BIT     0A8H.1
  00AB                66     ET1     BIT     0A8H.3
  008D                67     TF0     BIT     088H.5
  008F                68     TF1     BIT     088H.7
  009A                69     RB8     BIT     098H.2
  008C                70     TH0     DATA    08CH
  00A8                71     EX0     BIT     0A8H.0
  0088                72     IT0     BIT     088H.0
  008D                73     TH1     DATA    08DH
  009B                74     TB8     BIT     098H.3
  00AA                75     EX1     BIT     0A8H.2
  008A                76     IT1     BIT     088H.2
  00D0                77     P       BIT     0D0H.0
  009F                78     SM0     BIT     098H.7
  008A                79     TL0     DATA    08AH
  009E                80     SM1     BIT     098H.6
  008B                81     TL1     DATA    08BH
  009D                82     SM2     BIT     098H.5
  0097                83     pinWakeup404    BIT     090H.7
  00B9                84     PT0     BIT     0B8H.1
  00BB                85     PT1     BIT     0B8H.3
  00D3                86     RS0     BIT     0D0H.3
  00E7                87     ISP_CONTR       DATA    0E7H
  008C                88     TR0     BIT     088H.4
  00D4                89     RS1     BIT     0D0H.4
  008E                90     TR1     BIT     088H.6
  00B8                91     PX0     BIT     0B8H.0
  00E1                92     WDT_CONTR       DATA    0E1H
  00BA                93     PX1     BIT     0B8H.2
  00C7                94     IDLE_CLK        DATA    0C7H
  0083                95     DPH     DATA    083H
  0082                96     DPL     DATA    082H
  0084                97     SPSTAT  DATA    084H
  00B7                98     IPH     DATA    0B7H
  009C                99     REN     BIT     098H.4
  00E2               100     ISP_DATA        DATA    0E2H
  00B0               101     RXD     BIT     0B0H.0
  00B1               102     TXD     BIT     0B0H.1
  0096               103     pinPower404     BIT     090H.6
  00D5               104     F0      BIT     0D0H.5
  00F2               105     PCAPWM0 DATA    0F2H
  00D0               106     PSW     DATA    0D0H
  00F3               107     PCAPWM1 DATA    0F3H
  00D8               108     CCF0    BIT     0D8H.0
  00D9               109     CCF1    BIT     0D8H.1
  0086               110     SPDAT   DATA    086H
                     111     ?PR?_?MCUInit?TASK   SEGMENT CODE 
                     112     ?PR?_?Task_IR?TASK   SEGMENT CODE 
                     113     ?PR?_?Task_Uart?TASK SEGMENT CODE 
                     114     ?DT?TASK             SEGMENT DATA 
                     115             EXTRN   CODE (_?SRL_SendPack)
                     116             EXTRN   CODE (_?SRL_Init)
                     117             EXTRN   CODE (_?OsWaitMsg)
                     118             EXTRN   CODE (_?IR_Init)
                     119             EXTRN   CODE (ISRAdrFun)
                     120             EXTRN   DATA (gu8IRState)
                     121             EXTRN   CODE (_?SRL_GetRevPack)
                     122             EXTRN   CODE (_?IR_GetRevData)
                     123             EXTRN   BIT (gbRxFinish)
                     124             EXTRN   DATA (?C_IBP)
A51 MACRO ASSEMBLER  TASK                                                                 11/23/2006 08:17:48 PAGE     3

                     125             PUBLIC  sys10ms
                     126             PUBLIC  sysTimeTick
                     127             PUBLIC  _?Task_Uart
                     128             PUBLIC  _?Task_IR
                     129             PUBLIC  _?MCUInit
                     130     
----                 131             RSEG  ?DT?TASK
0000                 132         sysTimeTick:   DS   2
0002                 133             sys10ms:   DS   1
                     134     ; //---------------------------------------------------------------
                     135     ; //      
                     136     ; //       Copyright (c) 2006-2007 E-compass electronic Co.,Ltd.               
                     137     ; //       All Right Reserved.                                     
                     138     ; //                                                               
                     139     ; //       $Author    walnutcy
                     140     ; //       $Email     walnutcy@gmail.com              
                     141     ; //       $Version   v1.0  
                     142     ; //       $FileName                                       
                     143     ; //       $Since                                            
                     144     ; //       $Log                                                    
                     145     ; //                                                               
                     146     ; //       DESCRIPTION   
                     147     ; //
                     148     ; //             History:         
                     149     ; //             <author>          <time>     <version >    <desc> 
                     150     ; //---------------------------------------------------------------
                     151     ; 
                     152     ; //#include "task.h"
                     153     ; #include "includes.h"
                     154     ; 
                     155     ; 
                     156     ; 
                     157     ; 
                     158     ; volatile U16 sysTimeTick; // system time tick : 1ms
                     159     ; U8 sys10ms;
                     160     ; 
                     161     ; void ISRAdrFun (void);
                     162     ; 
                     163     ; 
                     164     ; void MCUInit() REENTRANT
                     165     
----                 166             RSEG  ?PR?_?MCUInit?TASK
0000                 167     _?MCUInit:
                     168             USING   0
                     169                             ; SOURCE LINE # 31
                     170     ; {    
                     171     ;       PCON &= 0xEF;
                     172                             ; SOURCE LINE # 33
0000 5387EF          173             ANL     PCON,#0EFH
                     174     ;     IT1 = 1;
                     175                             ; SOURCE LINE # 34
0003 D28A            176             SETB    IT1
                     177     ;       if (0==IT1)
                     178                             ; SOURCE LINE # 35
0005 208A03          179             JB      IT1,?C0001
                     180     ;       {       ISRAdrFun();
                     181                             ; SOURCE LINE # 36
0008 120000   F      182             LCALL   ISRAdrFun
                     183     ;       }       
                     184                             ; SOURCE LINE # 37
000B                 185     ?C0001:
                     186     ;     SRL_Init();
                     187                             ; SOURCE LINE # 38
000B 120000   F      188             LCALL   _?SRL_Init
                     189     ;     IR_Init();
                     190                             ; SOURCE LINE # 39
A51 MACRO ASSEMBLER  TASK                                                                 11/23/2006 08:17:48 PAGE     4

000E 120000   F      191             LCALL   _?IR_Init
                     192     ;       WDT_CONTR = 0x3C;
                     193                             ; SOURCE LINE # 40
0011 75E13C          194             MOV     WDT_CONTR,#03CH
                     195     ;     IP  = 0x51;//0:PCA:ADC:S:T1:X1:T0:X0
                     196                             ; SOURCE LINE # 41
0014 75B851          197             MOV     IP,#051H
                     198     ;     IPH = 0x10;
                     199                             ; SOURCE LINE # 42
0017 75B710          200             MOV     IPH,#010H
                     201     ;     IE = _INTERRUPT_ALL;
                     202                             ; SOURCE LINE # 43
001A 75A8D2          203             MOV     IE,#0D2H
                     204     ;       /////////////////
                     205     ;       TMOD |= 0x01;// timer 0, 16-bit mode 1, 
                     206                             ; SOURCE LINE # 45
001D 438901          207             ORL     TMOD,#01H
                     208     ;       TCON |= 0x05; // TR0 = 0; IT1 = 1;
                     209                             ; SOURCE LINE # 46
0020 438805          210             ORL     TCON,#05H
                     211     ;       sys10ms = 0;
                     212                             ; SOURCE LINE # 47
0023 E4              213             CLR     A
0024 F500     F      214             MOV     sys10ms,A
                     215     ;     return;
                     216     ; }
                     217                             ; SOURCE LINE # 49
0026                 218     ?C0002:
0026 22              219             RET     
                     220     ; END OF _?MCUInit
                     221     
                     222     ; 
                     223     ; 
                     224     ; void Task_IR(void) REENTRANT
                     225     
----                 226             RSEG  ?PR?_?Task_IR?TASK
0000                 227     _?Task_IR:
                     228             USING   0
                     229                             ; SOURCE LINE # 52
0000 E500     F      230             MOV     A,?C_IBP
0002 24FC            231             ADD     A,#0FCH
0004 F500     F      232             MOV     ?C_IBP,A
0006                 233     ?C0003:
                     234     ; {
                     235     ;       U8 buf[4];
                     236     ;       while (1)
                     237                             ; SOURCE LINE # 55
                     238     ;       {
                     239                             ; SOURCE LINE # 56
                     240     ;           if (IR_GetRevState())
                     241                             ; SOURCE LINE # 57
0006 E500     F      242             MOV     A,gu8IRState
0008 6015            243             JZ      ?C0005
                     244     ;           {
                     245                             ; SOURCE LINE # 58
                     246     ;               if (IR_GetRevData(buf))
                     247                             ; SOURCE LINE # 59
000A 7B00            248             MOV     R3,#00H
000C A900     F      249             MOV     R1,?C_IBP
000E 7A00            250             MOV     R2,#00H
0010 120000   F      251             LCALL   _?IR_GetRevData
0013 EF              252             MOV     A,R7
0014 6009            253             JZ      ?C0005
                     254     ;                       { 
                     255                             ; SOURCE LINE # 60
                     256     ;                           SRL_SendPack(IR_EVENT,buf,3);
A51 MACRO ASSEMBLER  TASK                                                                 11/23/2006 08:17:48 PAGE     5

                     257                             ; SOURCE LINE # 61
0016 AD00     F      258             MOV     R5,?C_IBP

⌨️ 快捷键说明

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