📄 lq51_a.lst
字号:
0006 E58A 196 MOV A,TL0
0008 24F8 197 ADD A,#LOW(-10000 + 8)
000A F58A 198 MOV TL0,A
000C E58C 199 MOV A,TH0
000E 34D8 200 ADDC A,#HIGH(-10000 + 8)
0010 F58C 201 MOV TH0,A
0012 D28C 202 SETB TR0
0014 E4 203 CLR A
0015 FF 204 MOV R7,A
0016 205 ?MY?C0001:
0016 7400 F 206 MOV A,#LOW (lqTaskTimer)
0018 2F 207 ADD A,R7
0019 F8 208 MOV R0,A
001A E6 209 MOV A,@R0
001B 6018 210 JZ ?MY?C0003
001D 16 211 DEC @R0
001E 7400 F 212 MOV A,#LOW (lqTaskTimer)
0020 2F 213 ADD A,R7
0021 F8 214 MOV R0,A
0022 E6 215 MOV A,@R0
0023 7010 216 JNZ ?MY?C0003
0025 7400 F 217 MOV A,#LOW (lqTaskState)
0027 2F 218 ADD A,R7
0028 F8 219 MOV R0,A
0029 7410 220 MOV A,#0x10
002B F4 221 CPL A
002C 56 222 ANL A,@R0
002D F6 223 MOV @R0,A
002E EF 224 MOV A,R7
002F 900000 F 225 MOV DPTR,#lqMap
0032 93 226 MOVC A,@A+DPTR
0033 4200 F 227 ORL lqRdyTbl,A
0035 228 ?MY?C0003:
0035 0F 229 INC R7
0036 BF02DD 230 CJNE R7,#2,?MY?C0001
0039 231 ?MY?C0002:
0039 D2AF 232 SETB EA
003B 22 233 RET
234
235 PUBLIC lqSche
236 ?LQ51?SCHE?S SEGMENT CODE
---- 237 RSEG ?LQ51?SCHE?S
0000 238 lqSche:
0000 C2AF 239 CLR EA
0002 7400 F 240 MOV A,#lqTaskStack
0004 2500 F 241 ADD A,lqCrt
0006 F8 242 MOV R0,A
0007 E500 F 243 MOV A,lqCrt
0009 6402 244 XRL A,#2
000B 7004 245 JNZ ?C012
000D 8681 246 MOV SP,@R0
000F 8002 247 SJMP ?C013
0011 248 ?C012:
0011 A681 249 MOV @R0,SP
0013 250 ?C013:
0013 900000 F 251 MOV DPTR,#lqMap
0016 7F00 252 MOV R7,#0
0018 253 ?C015:
0018 EF 254 MOV A,R7
0019 93 255 MOVC A,@A+DPTR
001A 5500 F 256 ANL A,lqRdyTbl
A51 MACRO ASSEMBLER LQ51_A 04/06/2009 19:21:34 PAGE 5
001C 7003 257 JNZ ?C014
001E 0F 258 INC R7
001F 80F7 259 SJMP ?C015
0021 260 ?C014:
0021 E500 F 261 MOV A,lqCrt
0023 6F 262 XRL A,R7
0024 7002 263 JNZ ?C024
0026 8062 264 JMP ?C016
0028 265 ?C024:
0028 7400 F 266 MOV A,#lqTaskStack
002A 2F 267 ADD A,R7
002B F8 268 MOV R0,A
002C E6 269 MOV A,@R0
002D FE 270 MOV R6,A
002E C3 271 CLR C
002F EF 272 MOV A,R7
0030 9500 F 273 SUBB A,lqCrt
0032 502C 274 JNC ?C017
0034 E581 275 MOV A,SP
0036 C3 276 CLR C
0037 9E 277 SUBB A,R6
0038 FD 278 MOV R5,A
0039 279 ?C018:
0039 A881 280 MOV R0,SP
003B E6 281 MOV A,@R0
003C A800 F 282 MOV R0,lqSPtemp
003E F6 283 MOV @R0,A
003F 1500 F 284 DEC lqSPtemp
0041 1581 285 DEC SP
0043 DDF4 286 DJNZ R5,?C018
0045 E500 F 287 MOV A,lqSPtemp
0047 C3 288 CLR C
0048 9581 289 SUBB A,SP
004A FD 290 MOV R5,A
004B AB00 F 291 MOV R3,lqCrt
004D 0B 292 INC R3
004E EF 293 MOV A,R7
004F FC 294 MOV R4,A
0050 295 ?C020:
0050 0C 296 INC R4
0051 EB 297 MOV A,R3
0052 6C 298 XRL A,R4
0053 6035 299 JZ ?C016
0055 EC 300 MOV A,R4
0056 2400 F 301 ADD A,#lqTaskStack
0058 F8 302 MOV R0,A
0059 E6 303 MOV A,@R0
005A 2D 304 ADD A,R5
005B F6 305 MOV @R0,A
005C 80F2 306 SJMP ?C020
005E 802A 307 JMP ?C016
0060 308 ?C017:
0060 EE 309 MOV A,R6
0061 C3 310 CLR C
0062 9500 F 311 SUBB A,lqSPtemp
0064 FD 312 MOV R5,A
0065 313 ?C021:
0065 0581 314 INC SP
0067 0500 F 315 INC lqSPtemp
0069 A800 F 316 MOV R0,lqSPtemp
006B E6 317 MOV A,@R0
006C A881 318 MOV R0,SP
006E F6 319 MOV @R0,A
006F DDF4 320 DJNZ R5,?C021
0071 E500 F 321 MOV A,lqSPtemp
0073 9581 322 SUBB A,SP
A51 MACRO ASSEMBLER LQ51_A 04/06/2009 19:21:34 PAGE 6
0075 FD 323 MOV R5,A
0076 EF 324 MOV A,R7
0077 FC 325 MOV R4,A
0078 AB00 F 326 MOV R3,lqCrt
007A 0C 327 INC R4
007B 328 ?C022:
007B 0B 329 INC R3
007C EC 330 MOV A,R4
007D 6B 331 XRL A,R3
007E 600A 332 JZ ?C016
0080 EB 333 MOV A,R3
0081 2400 F 334 ADD A,#lqTaskStack
0083 F8 335 MOV R0,A
0084 E6 336 MOV A,@R0
0085 C3 337 CLR C
0086 9D 338 SUBB A,R5
0087 F6 339 MOV @R0,A
0088 80F1 340 SJMP ?C022
008A 341 ?C016:
008A 8F00 F 342 MOV lqCrt,R7
008C E500 F 343 MOV A,lqCrt
008E 6402 344 XRL A,#2
0090 602C 345 JZ ?C023
0092 900000 F 346 MOV DPTR,#lqMap
0095 E500 F 347 MOV A,lqCrt
0097 93 348 MOVC A,@A+DPTR
0098 5500 F 349 ANL A,lqSwitchType
009A 6022 350 JZ ?C023
009C E500 F 351 MOV A,lqCrt
009E 93 352 MOVC A,@A+DPTR
009F F4 353 CPL A
00A0 5500 F 354 ANL A,lqSwitchType
00A2 F500 F 355 MOV lqSwitchType,A
00A4 D0F0 356 POP B
00A6 D082 357 POP DPL
00A8 D083 358 POP DPH
00AA D0D0 359 POP PSW
00AC D007 360 POP AR7
00AE D006 361 POP AR6
00B0 D005 362 POP AR5
00B2 D004 363 POP AR4
00B4 D003 364 POP AR3
00B6 D002 365 POP AR2
00B8 D001 366 POP AR1
00BA D000 367 POP AR0
00BC D0E0 368 POP ACC
00BE 369 ?C023:
00BE D2AF 370 SETB EA
00C0 22 371 RET
372 PUBLIC ?RTX_TASKENTRY
373 ?RTX?TASKENT?S SEGMENT CODE
---- 374 RSEG ?RTX?TASKENT?S
0000 375 ?RTX_TASKENTRY: DS 2
376
377 ;------------------------------------------------
378 ; Start lq51 Kernel
379 ;------------------------------------------------
380
381 ?RTX?CODE SEGMENT CODE
---- 382 RSEG ?RTX?CODE
383 USING 0
384 EXTRN CODE (?C_STARTUP)
385 PUBLIC main
0000 7800 F 386 main: MOV R0,#lqTaskStack
0002 A681 387 MOV @R0,SP
388
A51 MACRO ASSEMBLER LQ51_A 04/06/2009 19:21:34 PAGE 7
0004 900000 F 389 MOV DPTR,#?RTX?TASKENT?S ;设置0号任务的堆栈
0007 7401 390 MOV A,#1
0009 93 391 MOVC A,@A+DPTR
000A C0E0 392 PUSH ACC
000C E4 393 CLR A
000D 93 394 MOVC A,@A+DPTR
000E C0E0 395 PUSH ACC
396
0010 7402 397 MOV A,#2
0012 FF 398 MOV R7,A ;设置循环次
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -