📄 test.ls1
字号:
175 ;
176 ; INT8U ch;
177 ; INT8U err;
178 ;
179 ; cszdata=cszdata;
180 ; SOURCE LINE # 27
0014 850083 F 181 MOV DPH,?C_XBP
0017 850082 F 182 MOV DPL,?C_XBP+01H
001A A3 183 INC DPTR
001B A3 184 INC DPTR
001C E0 185 MOVX A,@DPTR
001D F9 186 MOV R1,A
001E A3 187 INC DPTR
001F E0 188 MOVX A,@DPTR
0020 FA 189 MOV R2,A
A51 MACRO ASSEMBLER TEST 03/06/2007 22:43:45 PAGE 4
0021 A3 190 INC DPTR
0022 E0 191 MOVX A,@DPTR
0023 850083 F 192 MOV DPH,?C_XBP
0026 850082 F 193 MOV DPL,?C_XBP+01H
0029 A3 194 INC DPTR
002A A3 195 INC DPTR
002B C9 196 XCH A,R1
002C F0 197 MOVX @DPTR,A
002D A3 198 INC DPTR
002E EA 199 MOV A,R2
002F F0 200 MOVX @DPTR,A
0030 A3 201 INC DPTR
0031 E9 202 MOV A,R1
0032 F0 203 MOVX @DPTR,A
204 ;
205 ;
206 ;
207 ; //注意!在最高优先级任务循环前打开定时器中断,以满足在OSStart()前不产生中断的要求。
208 ; //在系统调用OSInit()时会自动创建一个优先级最低的系统任务,创建钩讨谢岬饔肙S_EXIT_CR
ITICAL()打开EA。
209 ; //若在InitTimer0()里打开T0中断,则违反了在OSStart()前不产生中断的要求。
210 ; //切记将ET0=1;放在最高优先级任务里,OSStart()将调用OSStartHighRdy()第一个运行最高优先
级任务,这样ET0=1总能被第一个执行。
211 ; ET0=1;
212 ; SOURCE LINE # 35
0033 D2A9 213 SETB ET0
214 ;
215 ; for (;;) {
216 ; SOURCE LINE # 37
0035 217 ?C0002:
218 ; ch = CommGetChar(OS_TICKS_PER_SEC, &err);
219 ; SOURCE LINE # 38
0035 7B01 220 MOV R3,#01H
0037 850083 F 221 MOV DPH,?C_XBP
003A 850082 F 222 MOV DPL,?C_XBP+01H
003D A3 223 INC DPTR
003E A982 224 MOV R1,DPL
0040 AA83 225 MOV R2,DPH
0042 7E00 226 MOV R6,#00H
0044 7F32 227 MOV R7,#032H
0046 120000 F 228 LCALL _?CommGetChar
0049 850083 F 229 MOV DPH,?C_XBP
004C 850082 F 230 MOV DPL,?C_XBP+01H
004F EF 231 MOV A,R7
0050 F0 232 MOVX @DPTR,A
233 ; if(ch!=NUL)
234 ; SOURCE LINE # 39
0051 E0 235 MOVX A,@DPTR
0052 FF 236 MOV R7,A
0053 6007 237 JZ ?C0004
238 ; CommPutChar(ch, OS_TICKS_PER_SEC);
239 ; SOURCE LINE # 40
0055 7C00 240 MOV R4,#00H
0057 7D32 241 MOV R5,#032H
0059 120000 F 242 LCALL _?CommPutChar
005C 243 ?C0004:
244 ; OSTimeDly(2);
245 ; SOURCE LINE # 41
005C 7F02 246 MOV R7,#02H
005E 7E00 247 MOV R6,#00H
0060 120000 F 248 LCALL _OSTimeDly
249 ; }
250 ; SOURCE LINE # 42
0063 80D0 251 SJMP ?C0002
252 ; END OF _?TaskStart
253
A51 MACRO ASSEMBLER TEST 03/06/2007 22:43:45 PAGE 5
254 END
A51 MACRO ASSEMBLER TEST 03/06/2007 22:43:45 PAGE 6
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C0002 . . . . . . . C ADDR 0035H R SEG=?PR?_?TASKSTART?TEST
?C0004 . . . . . . . C ADDR 005CH R SEG=?PR?_?TASKSTART?TEST
?C?ADDXBP. . . . . . C ADDR ----- EXT
?C_STARTUP . . . . . C ADDR ----- EXT
?C_XBP . . . . . . . D ADDR ----- EXT
?PR?MAIN?TEST. . . . C SEG 0030H REL=UNIT
?PR?_?TASKSTART?TEST C SEG 0065H REL=UNIT
?XD?TEST . . . . . . X SEG 0384H REL=UNIT
?_OSTASKCREATE?BYTE. X ADDR ----- EXT
AC . . . . . . . . . B ADDR 00D0H.6 A
ACC. . . . . . . . . D ADDR 00E0H A
B. . . . . . . . . . D ADDR 00F0H A
CY . . . . . . . . . B ADDR 00D0H.7 A
DPH. . . . . . . . . D ADDR 0083H A
DPL. . . . . . . . . D ADDR 0082H A
EA . . . . . . . . . B ADDR 00A8H.7 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
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
IT0. . . . . . . . . B ADDR 0088H.0 A
IT1. . . . . . . . . B ADDR 0088H.2 A
MAIN . . . . . . . . C ADDR 0000H R SEG=?PR?MAIN?TEST
OV . . . . . . . . . B ADDR 00D0H.2 A
P. . . . . . . . . . B ADDR 00D0H.0 A
P0 . . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . . D ADDR 00B0H A
PCON . . . . . . . . D ADDR 0087H 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
T0 . . . . . . . . . B ADDR 00B0H.4 A
T1 . . . . . . . . . B ADDR 00B0H.5 A
TASKSTARTSTK . . . . X ADDR 0000H R SEG=?XD?TEST
A51 MACRO ASSEMBLER TEST 03/06/2007 22:43:45 PAGE 7
TB8. . . . . . . . . B ADDR 0098H.3 A
TCON . . . . . . . . D ADDR 0088H A
TEST . . . . . . . . N NUMB -----
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
WR . . . . . . . . . B ADDR 00B0H.6 A
_?COMMBUFINIT. . . . C ADDR ----- EXT
_?COMMGETCHAR. . . . C ADDR ----- EXT
_?COMMINIT . . . . . C ADDR ----- EXT
_?COMMPUTCHAR. . . . C ADDR ----- EXT
_?INITTIMER0 . . . . C ADDR ----- EXT
_?OSINIT . . . . . . C ADDR ----- EXT
_?OSSTART. . . . . . C ADDR ----- EXT
_?TASKSTART. . . . . C ADDR 0000H R SEG=?PR?_?TASKSTART?TEST
_OSTASKCREATE. . . . C ADDR ----- EXT
_OSTIMEDLY . . . . . C ADDR ----- EXT
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -