📄 os_delete.lst
字号:
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 + -