📄 os_time.ls1
字号:
0076 FD 407 MOV R5,A
0077 FE 408 MOV R6,A
0078 7B10 409 MOV R3,#010H
007A 7A0E 410 MOV R2,#0EH
007C F9 411 MOV R1,A
007D F8 412 MOV R0,A
007E 120000 F 413 LCALL ?C?LMUL
0081 D0E0 414 POP ACC
0083 FB 415 MOV R3,A
0084 D0E0 416 POP ACC
0086 FA 417 MOV R2,A
0087 D0E0 418 POP ACC
0089 F9 419 MOV R1,A
008A D0E0 420 POP ACC
008C F8 421 MOV R0,A
008D EF 422 MOV A,R7
008E 2B 423 ADD A,R3
008F FB 424 MOV R3,A
0090 EE 425 MOV A,R6
0091 3A 426 ADDC A,R2
0092 FA 427 MOV R2,A
0093 ED 428 MOV A,R5
0094 39 429 ADDC A,R1
A51 MACRO ASSEMBLER OS_TIME 08/08/2005 11:36:58 PAGE 8
0095 F9 430 MOV R1,A
0096 EC 431 MOV A,R4
0097 38 432 ADDC A,R0
0098 F8 433 MOV R0,A
0099 900000 F 434 MOV DPTR,#seconds?143
009C E0 435 MOVX A,@DPTR
009D FF 436 MOV R7,A
009E E4 437 CLR A
009F FC 438 MOV R4,A
00A0 FD 439 MOV R5,A
00A1 FE 440 MOV R6,A
00A2 EB 441 MOV A,R3
00A3 2F 442 ADD A,R7
00A4 FF 443 MOV R7,A
00A5 EE 444 MOV A,R6
00A6 3A 445 ADDC A,R2
00A7 FE 446 MOV R6,A
00A8 ED 447 MOV A,R5
00A9 39 448 ADDC A,R1
00AA FD 449 MOV R5,A
00AB EC 450 MOV A,R4
00AC 38 451 ADDC A,R0
00AD FC 452 MOV R4,A
00AE E4 453 CLR A
00AF 7B32 454 MOV R3,#032H
00B1 FA 455 MOV R2,A
00B2 F9 456 MOV R1,A
00B3 F8 457 MOV R0,A
00B4 120000 F 458 LCALL ?C?LMUL
00B7 EC 459 MOV A,R4
00B8 C0E0 460 PUSH ACC
00BA ED 461 MOV A,R5
00BB C0E0 462 PUSH ACC
00BD EE 463 MOV A,R6
00BE C0E0 464 PUSH ACC
00C0 EF 465 MOV A,R7
00C1 C0E0 466 PUSH ACC
00C3 900000 F 467 MOV DPTR,#milli?144
00C6 E0 468 MOVX A,@DPTR
00C7 FE 469 MOV R6,A
00C8 A3 470 INC DPTR
00C9 E0 471 MOVX A,@DPTR
00CA FF 472 MOV R7,A
00CB EF 473 MOV A,R7
00CC 240A 474 ADD A,#0AH
00CE FF 475 MOV R7,A
00CF E4 476 CLR A
00D0 3E 477 ADDC A,R6
00D1 FE 478 MOV R6,A
00D2 E4 479 CLR A
00D3 33 480 RLC A
00D4 FD 481 MOV R5,A
00D5 E4 482 CLR A
00D6 33 483 RLC A
00D7 FC 484 MOV R4,A
00D8 E4 485 CLR A
00D9 7B32 486 MOV R3,#032H
00DB FA 487 MOV R2,A
00DC F9 488 MOV R1,A
00DD F8 489 MOV R0,A
00DE 120000 F 490 LCALL ?C?LMUL
00E1 E4 491 CLR A
00E2 7BE8 492 MOV R3,#0E8H
00E4 7A03 493 MOV R2,#03H
00E6 F9 494 MOV R1,A
00E7 F8 495 MOV R0,A
A51 MACRO ASSEMBLER OS_TIME 08/08/2005 11:36:58 PAGE 9
00E8 120000 F 496 LCALL ?C?ULDIV
00EB D0E0 497 POP ACC
00ED FB 498 MOV R3,A
00EE D0E0 499 POP ACC
00F0 FA 500 MOV R2,A
00F1 D0E0 501 POP ACC
00F3 F9 502 MOV R1,A
00F4 D0E0 503 POP ACC
00F6 F8 504 MOV R0,A
00F7 EB 505 MOV A,R3
00F8 2F 506 ADD A,R7
00F9 FF 507 MOV R7,A
00FA EA 508 MOV A,R2
00FB 3E 509 ADDC A,R6
00FC FE 510 MOV R6,A
00FD E9 511 MOV A,R1
00FE 3D 512 ADDC A,R5
00FF FD 513 MOV R5,A
0100 E8 514 MOV A,R0
0101 3C 515 ADDC A,R4
0102 FC 516 MOV R4,A
0103 900000 F 517 MOV DPTR,#ticks?145
0106 120000 F 518 LCALL ?C?LSTXDATA
519 ; loops = (INT16U)(ticks / 65536L); /* Compute the integral number of 65536
tick delays */
520 ; SOURCE LINE # 97
0109 E4 521 CLR A
010A FB 522 MOV R3,A
010B FA 523 MOV R2,A
010C 7901 524 MOV R1,#01H
010E F8 525 MOV R0,A
010F 900000 F 526 MOV DPTR,#ticks?145
0112 E0 527 MOVX A,@DPTR
0113 FC 528 MOV R4,A
0114 A3 529 INC DPTR
0115 E0 530 MOVX A,@DPTR
0116 FD 531 MOV R5,A
0117 A3 532 INC DPTR
0118 E0 533 MOVX A,@DPTR
0119 FE 534 MOV R6,A
011A A3 535 INC DPTR
011B E0 536 MOVX A,@DPTR
011C FF 537 MOV R7,A
011D 120000 F 538 LCALL ?C?ULDIV
0120 900000 F 539 MOV DPTR,#loops?146
0123 EE 540 MOV A,R6
0124 F0 541 MOVX @DPTR,A
0125 A3 542 INC DPTR
0126 EF 543 MOV A,R7
0127 F0 544 MOVX @DPTR,A
545 ; ticks = ticks % 65536L; /* Obtain the fractional number of tick
s */
546 ; SOURCE LINE # 98
0128 900000 F 547 MOV DPTR,#ticks?145
012B A3 548 INC DPTR
012C A3 549 INC DPTR
012D E0 550 MOVX A,@DPTR
012E FE 551 MOV R6,A
012F A3 552 INC DPTR
0130 E0 553 MOVX A,@DPTR
0131 FF 554 MOV R7,A
0132 E4 555 CLR A
0133 FD 556 MOV R5,A
0134 FC 557 MOV R4,A
0135 900000 F 558 MOV DPTR,#ticks?145
0138 120000 F 559 LCALL ?C?LSTXDATA
A51 MACRO ASSEMBLER OS_TIME 08/08/2005 11:36:58 PAGE 10
560 ; OSTimeDly((INT16U)ticks);
561 ; SOURCE LINE # 99
013B 900000 F 562 MOV DPTR,#ticks?145
013E A3 563 INC DPTR
013F A3 564 INC DPTR
0140 E0 565 MOVX A,@DPTR
0141 FE 566 MOV R6,A
0142 A3 567 INC DPTR
0143 E0 568 MOVX A,@DPTR
0144 FF 569 MOV R7,A
0145 120000 F 570 LCALL _OSTimeDly
0148 571 ?C0010:
572 ; while (loops > 0) {
573 ; SOURCE LINE # 100
0148 D3 574 SETB C
0149 900000 F 575 MOV DPTR,#loops?146+01H
014C E0 576 MOVX A,@DPTR
014D 9400 577 SUBB A,#00H
014F 900000 F 578 MOV DPTR,#loops?146
0152 E0 579 MOVX A,@DPTR
0153 9400 580 SUBB A,#00H
0155 401E 581 JC ?C0011
582 ; OSTimeDly(32768);
583 ; SOURCE LINE # 101
0157 7F00 584 MOV R7,#00H
0159 7E80 585 MOV R6,#080H
015B 120000 F 586 LCALL _OSTimeDly
587 ; OSTimeDly(32768);
588 ; SOURCE LINE # 102
015E 7F00 589 MOV R7,#00H
0160 7E80 590 MOV R6,#080H
0162 120000 F 591 LCALL _OSTimeDly
592 ; loops--;
593 ; SOURCE LINE # 103
0165 900000 F 594 MOV DPTR,#loops?146+01H
0168 E0 595 MOVX A,@DPTR
0169 24FF 596 ADD A,#0FFH
016B F0 597 MOVX @DPTR,A
016C 900000 F 598 MOV DPTR,#loops?146
016F E0 599 MOVX A,@DPTR
0170 34FF 600 ADDC A,#0FFH
0172 F0 601 MOVX @DPTR,A
602 ; }
603 ; SOURCE LINE # 104
0173 80D3 604 SJMP ?C0010
0175 605 ?C0011:
606 ; return (OS_NO_ERR);
607 ; SOURCE LINE # 105
0175 7F00 608 MOV R7,#00H
0177 22 609 RET
610 ; }
611 ; SOURCE LINE # 106
0178 612 ?C0004:
613 ; return (OS_TIME_ZERO_DLY);
614 ; SOURCE LINE # 107
0178 7F54 615 MOV R7,#054H
616 ; }
617 ; SOURCE LINE # 108
017A 618 ?C0007:
017A 22 619 RET
620 ; END OF _OSTimeDlyHMSM
621
622 ; #endif
623 ; /*$PAGE*/
624 ; /*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -