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

📄 os_delete.lst

📁 让Keil 的 RTX51 运行在 P89C669 让Keil 的 RTX51 运行在 P89C669
💻 LST
📖 第 1 页 / 共 2 页
字号:
00003E 2F               148                     ADD     A,R7
00003F F8               149                     MOV     R0,A
000040 FB               150                     MOV     R3,A            ; save @STKP
000041 E6               151                     MOV     A,@R0
000042 FC               152                     MOV     R4,A
                        153     ;     while (first != check)  {
000043                  154     ?C0040:
000043 E9               155                     MOV     A,R1
000044 6C               156                     XRL     A,R4
000045 6008             157                     JZ      ?C0037
                        158     ;       DBYTE[last] = DBYTE[first];
                        159                                              ; SOURCE LINE # 186
000047 A805             160                     MOV     R0,AR5
000049 E7               161                     MOV     A,@R1
00004A F6               162                     MOV     @R0,A
                        163     ;       last--;
00004B 1D               164                     DEC     R5
                        165     ;       first--;
00004C 19               166                     DEC     R1
                        167     ;     }
00004D 80F4             168                     SJMP    ?C0040
00004F                  169     ?C0037:
                        170     ;     STKP[no] = last;
00004F A803             171                     MOV     R0,AR3          ; restore @STKP
000051 A605             172                     MOV     @R0,AR5
                        173     ;     no--;
000053 1F               174                     DEC     R7
                        175     ;   }  while (current != no);
000054 E500       E     176                     MOV     A,?RTX_CURRENTTASK
000056 B507E3           177                     CJNE    A,AR7,?C0039
                        178     ;   return (0);
000059 7F00             179                     MOV     R7,#0
00005B                  180     OS_delete_task_exit2:
00005B A522             181                     ERET     
                        182     ; }
00005D                  183     ?C0034:
                        184     ; if (current > no)  {
                        185     ;   last  = STKP[no+1];
00005D 7400       F     186                     MOV     A,#?RTX?TASKSP?S+1
00005F 2F               187                     ADD     A,R7
000060 F8               188                     MOV     R0,A
000061 E6               189                     MOV     A,@R0
AX51 MACRO ASSEMBLER  OS_DELETE                                                             11/21/05 17:35:21 PAGE     4

000062 FD               190                     MOV     R5,A
                        191     ;   first = STKP[no];
000063 18               192                     DEC     R0
000064 8601             193                     MOV     AR1,@R0
000066                  194     ?C0045:
                        195     ;   do  {
                        196     ;     no++;
000066 0F               197                     INC     R7
                        198     ;     STKP[no] = first;
000067 7400       F     199                     MOV     A,#?RTX?TASKSP?S
000069 2F               200                     ADD     A,R7
00006A F8               201                     MOV     R0,A
00006B A601             202                     MOV     @R0,AR1
                        203     ;     check = (no == current) ? SP : STKP[no+1];
00006D 08               204                     INC     R0
00006E 8604             205                     MOV     AR4,@R0
000070 E500       E     206                     MOV     A,?RTX_CURRENTTASK
000072 B50702           207                     CJNE    A,AR7,?C0046
000075 AC81             208                     MOV     R4,SP
000077                  209     ?C0046:
                        210     ;     while (last != check)  {
000077 ED               211                     MOV     A,R5
000078 6C               212                     XRL     A,R4
000079 6008             213                     JZ      ?C0043
                        214     ;       last++;
00007B 0D               215                     INC     R5
                        216     ;       first++;
00007C 09               217                     INC     R1
                        218     ;       DBYTE[first] = DBYTE[last];
00007D A805             219                     MOV     R0,AR5
00007F E6               220                     MOV     A,@R0
000080 F7               221                     MOV     @R1,A
                        222     ;     }
000081 80F4             223                     SJMP    ?C0046
                        224     ;   }  while (current != no);
000083                  225     ?C0043:
000083 E500       E     226                     MOV     A,?RTX_CURRENTTASK
000085 B507DE           227                     CJNE    A,AR7,?C0045
                        228     ;   SP = first;
000088 8981             229                     MOV     SP,R1
                        230     ;   return (0);
00008A 7F00             231                     MOV     R7,#0
                        232     ; }
                        233     ;}
00008C                  234     ?C0031:
00008C                  235     OS_delete_task_exit3:
00008C A522             236                     ERET     
                        237     
                        238                     END
AX51 MACRO ASSEMBLER  OS_DELETE                                                             11/21/05 17:35:21 PAGE     5

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


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

?C0030. . . . . . . . . .  EC ADDR  000AH     R   SEG=?RTX?CODE
?C0031. . . . . . . . . .  EC ADDR  008CH     R   SEG=?RTX?CODE
?C0032. . . . . . . . . .  EC ADDR  0006H     R   SEG=?RTX?CODE
?C0033. . . . . . . . . .  EC ADDR  002CH     R   SEG=?RTX?CODE
?C0034. . . . . . . . . .  EC ADDR  005DH     R   SEG=?RTX?CODE
?C0035. . . . . . . . . .  EC ADDR  0038H     R   SEG=?RTX?CODE
?C0037. . . . . . . . . .  EC ADDR  004FH     R   SEG=?RTX?CODE
?C0039. . . . . . . . . .  EC ADDR  003CH     R   SEG=?RTX?CODE
?C0040. . . . . . . . . .  EC ADDR  0043H     R   SEG=?RTX?CODE
?C0043. . . . . . . . . .  EC ADDR  0083H     R   SEG=?RTX?CODE
?C0045. . . . . . . . . .  EC ADDR  0066H     R   SEG=?RTX?CODE
?C0046. . . . . . . . . .  EC ADDR  0077H     R   SEG=?RTX?CODE
?RTX51_TINY_OS_DELETE . .  -- ----  -------       
?RTX?CODE . . . . . . . .  EC SEG   00008EH       REL=UNIT, ALN=BYTE
?RTX?TASKSP?S . . . . . .  I  SEG   000000H       REL=UNIT, ALN=BYTE
?RTX?TASKSTATE?S. . . . .  I  SEG   000000H       REL=UNIT, ALN=BYTE
?RTX_CURRENTTASK. . . . .  D  ADDR  -------       EXT
?RTX_MAXTASKN . . . . . .  N  NUMB  -------       EXT
?RTX_RAMTOP . . . . . . .  N  NUMB  -------       EXT
_OS_DELETE_TASK . . . . .  EC ADDR  0000H     R   SEG=?RTX?CODE
ACC . . . . . . . . . . .  D  ADDR  00E0H     A   
AR1 . . . . . . . . . . .  D  ADDR  0001H     A   
AR3 . . . . . . . . . . .  D  ADDR  0003H     A   
AR4 . . . . . . . . . . .  D  ADDR  0004H     A   
AR5 . . . . . . . . . . .  D  ADDR  0005H     A   
AR7 . . . . . . . . . . .  D  ADDR  0007H     A   
B_ACTIVE. . . . . . . . .  N  NUMB  0005H     A   
B_IVL . . . . . . . . . .  N  NUMB  0007H     A   
B_RDY . . . . . . . . . .  N  NUMB  0007H     A   
B_READY . . . . . . . . .  N  NUMB  0004H     A   
B_ROBIN . . . . . . . . .  N  NUMB  0006H     A   
B_SIGNAL. . . . . . . . .  N  NUMB  0002H     A   
B_TIMEOUT . . . . . . . .  N  NUMB  0003H     A   
B_WAITSIG . . . . . . . .  N  NUMB  0000H     A   
B_WAITTIM . . . . . . . .  N  NUMB  0001H     A   
EA. . . . . . . . . . . .  B  ADDR  00A8H.7   A   
ET0 . . . . . . . . . . .  B  ADDR  00A8H.1   A   
K_ACTIVE. . . . . . . . .  N  NUMB  0020H     A   
K_IVL . . . . . . . . . .  N  NUMB  0080H     A   
K_RDY . . . . . . . . . .  N  NUMB  0080H     A   
K_READY . . . . . . . . .  N  NUMB  0010H     A   
K_ROBIN . . . . . . . . .  N  NUMB  0040H     A   
K_SIG . . . . . . . . . .  N  NUMB  0001H     A   
K_TMO . . . . . . . . . .  N  NUMB  0002H     A   
OS_DELETE_TASK_EXIT1. . .  EC ADDR  0027H     R   SEG=?RTX?CODE
OS_DELETE_TASK_EXIT2. . .  EC ADDR  005BH     R   SEG=?RTX?CODE
OS_DELETE_TASK_EXIT3. . .  EC ADDR  008CH     R   SEG=?RTX?CODE
OS_SWITCH_TASK. . . . . .  EC ADDR  -------       EXT
RDY_EVENT . . . . . . . .  N  NUMB  0080H     A   
SIG_EVENT . . . . . . . .  N  NUMB  0004H     A   
SP. . . . . . . . . . . .  D  ADDR  0081H     A   
TASK_ENTRY. . . . . . . .  HC ADDR  -------       EXT
TMO_EVENT . . . . . . . .  N  NUMB  0008H     A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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