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