📄 test.ls1
字号:
170 ;
171 ; INT8U ch;
172 ; INT8U err;
173 ;
174 ; cszdata=cszdata;
175 ; SOURCE LINE # 25
0014 850083 F 176 MOV DPH,?C_XBP
0017 850082 F 177 MOV DPL,?C_XBP+01H
001A A3 178 INC DPTR
001B A3 179 INC DPTR
001C E0 180 MOVX A,@DPTR
001D F9 181 MOV R1,A
001E A3 182 INC DPTR
001F E0 183 MOVX A,@DPTR
0020 FA 184 MOV R2,A
0021 A3 185 INC DPTR
0022 E0 186 MOVX A,@DPTR
0023 850083 F 187 MOV DPH,?C_XBP
0026 850082 F 188 MOV DPL,?C_XBP+01H
0029 A3 189 INC DPTR
A51 MACRO ASSEMBLER TEST 03/06/2007 22:47:35 PAGE 4
002A A3 190 INC DPTR
002B C9 191 XCH A,R1
002C F0 192 MOVX @DPTR,A
002D A3 193 INC DPTR
002E EA 194 MOV A,R2
002F F0 195 MOVX @DPTR,A
0030 A3 196 INC DPTR
0031 E9 197 MOV A,R1
0032 F0 198 MOVX @DPTR,A
199 ;
200 ; //注意!在最高优先级任务循环前打开定时器中断,以满足在OSStart()前不产生中断的要求。
201 ; //在系统调用OSInit()时会自动创建一个优先级最低的系统任务,创建钩讨谢岬饔肙S_EXIT_CR
ITICAL()打开EA。
202 ; //若在InitTimer0()里打开T0中断,则违反了在OSStart()前不产生中断的要求。
203 ; //切记将ET0=1;放在最高优先级任务里,OSStart()将调用OSStartHighRdy()第一个运行最高优先
级任务,这样ET0=1总能被第一个执行。
204 ; ET0=1;
205 ; SOURCE LINE # 31
0033 D2A9 206 SETB ET0
207 ;
208 ; for (;;) {
209 ; SOURCE LINE # 33
0035 210 ?C0002:
211 ; ch = CommGetChar(&err);
212 ; SOURCE LINE # 34
0035 7B01 213 MOV R3,#01H
0037 850083 F 214 MOV DPH,?C_XBP
003A 850082 F 215 MOV DPL,?C_XBP+01H
003D A3 216 INC DPTR
003E A982 217 MOV R1,DPL
0040 AA83 218 MOV R2,DPH
0042 120000 F 219 LCALL _?CommGetChar
0045 850083 F 220 MOV DPH,?C_XBP
0048 850082 F 221 MOV DPL,?C_XBP+01H
004B EF 222 MOV A,R7
004C F0 223 MOVX @DPTR,A
224 ; if(err==COMM_NO_ERR)
225 ; SOURCE LINE # 35
004D A3 226 INC DPTR
004E E0 227 MOVX A,@DPTR
004F 700B 228 JNZ ?C0004
229 ; CommPutChar(ch);
230 ; SOURCE LINE # 36
0051 850083 F 231 MOV DPH,?C_XBP
0054 850082 F 232 MOV DPL,?C_XBP+01H
0057 E0 233 MOVX A,@DPTR
0058 FF 234 MOV R7,A
0059 120000 F 235 LCALL _?CommPutChar
005C 236 ?C0004:
237 ; OSTimeDly(2);
238 ; SOURCE LINE # 37
005C 7F02 239 MOV R7,#02H
005E 7E00 240 MOV R6,#00H
0060 120000 F 241 LCALL _OSTimeDly
242 ; }
243 ; SOURCE LINE # 38
0063 80D0 244 SJMP ?C0002
245 ; END OF _?TaskStart
246
247 END
A51 MACRO ASSEMBLER TEST 03/06/2007 22:47:35 PAGE 5
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 002DH 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:47:35 PAGE 6
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
_?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 + -