📄 fil10.rst
字号:
00F2 489 _display:
490 ; genReceive
00F2 AA 82 491 mov r2,dpl
492 ;c:/hj51avr/code/c/fil10.c:104: if(disseg < 8) //只有当要显示的位数有效,才显示.否则,不显示
493 ; genCmpLt
494 ; genCmp
00F4 BA 08 00 495 cjne r2,#0x08,00112$
00F7 496 00112$:
497 ; genIfxJump
498 ; Peephole 108 removed ljmp by inverse jump logic
00F7 50 22 499 jnc 00105$
00F9 500 00113$:
501 ;c:/hj51avr/code/c/fil10.c:106: dataf = 1;
502 ; genAssign
00F9 7B 01 503 mov r3,#0x01
504 ;c:/hj51avr/code/c/fil10.c:107: while(disseg)
505 ; genAssign
00FB 506 00101$:
507 ; genIfx
00FB EA 508 mov a,r2
509 ; genIfxJump
510 ; Peephole 110 removed ljmp by inverse jump logic
00FC 60 07 511 jz 00103$
00FE 512 00114$:
513 ;c:/hj51avr/code/c/fil10.c:109: dataf <<= 1;
514 ; genLeftShift
515 ; genLeftShiftLiteral
516 ; genlshOne
00FE EB 517 mov a,r3
00FF 25 E0 518 add a,acc
0101 FB 519 mov r3,a
520 ;c:/hj51avr/code/c/fil10.c:110: disseg--;
521 ; genMinus
522 ; genMinusDec
0102 1A 523 dec r2
524 ; Peephole 112.b changed ljmp to sjmp
0103 80 F6 525 sjmp 00101$
0105 526 00103$:
527 ;c:/hj51avr/code/c/fil10.c:112: sege = 0;
528 ; genAssign
0105 C2 A7 529 clr _P2_7
530 ;c:/hj51avr/code/c/fil10.c:113: segdata = dataf; //这里首先把要显示的数据放到数据总线
531 ; genAssign
0107 8B 80 532 mov _P0,r3
533 ;c:/hj51avr/code/c/fil10.c:114: segb = 1; //这里给出一个脉冲,数据送往位选端
534 ; genAssign
0109 D2 A6 535 setb _P2_6
536 ;c:/hj51avr/code/c/fil10.c:115: segb = 0;
537 ; genAssign
010B C2 A6 538 clr _P2_6
539 ;c:/hj51avr/code/c/fil10.c:117: segdata = disbuf_u[disdata];
540 ; genPlus
010D E5 11 541 mov a,_display_PARM_2
542 ; Peephole 181 changed mov to clr
543 ; genPointerGet
544 ; genCodePointerGet
545 ; Peephole 181 changed mov to clr
546 ; Peephole 186.d optimized movc sequence
010F 90 01 AF 547 mov dptr,#_disbuf_u
0112 93 548 movc a,@a+dptr
0113 F5 80 549 mov _P0,a
550 ;c:/hj51avr/code/c/fil10.c:118: segd = 1; //这里给出一个脉冲,数据送往段选端
551 ; genAssign
0115 D2 A5 552 setb _P2_5
553 ;c:/hj51avr/code/c/fil10.c:119: segd = 0;
554 ; genAssign
0117 C2 A5 555 clr _P2_5
556 ; Peephole 112.b changed ljmp to sjmp
0119 80 07 557 sjmp 00107$
011B 558 00105$:
559 ;c:/hj51avr/code/c/fil10.c:122: segdata = 255;
560 ; genAssign
011B 75 80 FF 561 mov _P0,#0xFF
562 ;c:/hj51avr/code/c/fil10.c:123: segd = 1; //这里给出一个脉冲,数据送往段选端
563 ; genAssign
011E D2 A5 564 setb _P2_5
565 ;c:/hj51avr/code/c/fil10.c:124: segd = 0; //往段寄存器全部送255,那么就关闭了显示(显示灭)
566 ; genAssign
0120 C2 A5 567 clr _P2_5
0122 568 00107$:
0122 22 569 ret
570 ;------------------------------------------------------------
571 ;Allocation info for local variables in function 'delay5ms'
572 ;------------------------------------------------------------
573 ;------------------------------------------------------------
574 ;c:/hj51avr/code/c/fil10.c:130: void delay5ms()
575 ; -----------------------------------------
576 ; function delay5ms
577 ; -----------------------------------------
0123 578 _delay5ms:
579 ;c:/hj51avr/code/c/fil10.c:137: _endasm;
580 ; genInline
0123 78 64 581 mov R0,#100
0125 582 lp:
0125 79 05 583 mov R1,#5
0127 584 lk:
0127 D9 FE 585 djnz R1,lk
0129 D8 FA 586 djnz R0,lp
012B 587 00101$:
012B 22 588 ret
589 ;------------------------------------------------------------
590 ;Allocation info for local variables in function 'DIS_NUM'
591 ;------------------------------------------------------------
592 ;number Allocated to registers
593 ;nu Allocated to registers r5 r6
594 ;tmp Allocated to registers r2 r3
595 ;i Allocated to registers
596 ;------------------------------------------------------------
597 ;c:/hj51avr/code/c/fil10.c:141: void DIS_NUM(int number)
598 ; -----------------------------------------
599 ; function DIS_NUM
600 ; -----------------------------------------
012C 601 _DIS_NUM:
602 ; genReceive
012C AA 82 603 mov r2,dpl
012E AB 83 604 mov r3,dph
605 ;c:/hj51avr/code/c/fil10.c:146: for(i =0;i<6;i++)
606 ; genAssign
0130 7C 00 607 mov r4,#0x00
0132 608 00101$:
609 ; genCmpLt
610 ; genCmp
0132 BC 06 00 611 cjne r4,#0x06,00109$
0135 612 00109$:
613 ; genIfxJump
614 ; Peephole 108 removed ljmp by inverse jump logic
0135 50 6F 615 jnc 00104$
0137 616 00110$:
617 ;c:/hj51avr/code/c/fil10.c:148: nu = tmp%10;
618 ; genAssign
0137 E4 619 clr a
0138 F5 12 620 mov (__modsint_PARM_2 + 1),a
013A 75 11 0A 621 mov __modsint_PARM_2,#0x0A
622 ; genCall
013D 8A 82 623 mov dpl,r2
013F 8B 83 624 mov dph,r3
0141 C0 02 625 push ar2
0143 C0 03 626 push ar3
0145 C0 04 627 push ar4
0147 12 02 49 628 lcall __modsint
014A AD 82 629 mov r5,dpl
014C AE 83 630 mov r6,dph
014E D0 04 631 pop ar4
0150 D0 03 632 pop ar3
0152 D0 02 633 pop ar2
634 ;c:/hj51avr/code/c/fil10.c:149: display(i,nu);
635 ; genCast
0154 8D 11 636 mov _display_PARM_2,r5
637 ; genCall
0156 8C 82 638 mov dpl,r4
0158 C0 02 639 push ar2
015A C0 03 640 push ar3
015C C0 04 641 push ar4
015E C0 05 642 push ar5
0160 C0 06 643 push ar6
0162 12 00 F2 644 lcall _display
0165 D0 06 645 pop ar6
0167 D0 05 646 pop ar5
0169 D0 04 647 pop ar4
016B D0 03 648 pop ar3
016D D0 02 649 pop ar2
650 ;c:/hj51avr/code/c/fil10.c:150: delay5ms();
651 ; genCall
016F C0 02 652 push ar2
0171 C0 03 653 push ar3
0173 C0 04 654 push ar4
0175 C0 05 655 push ar5
0177 C0 06 656 push ar6
0179 12 01 23 657 lcall _delay5ms
017C D0 06 658 pop ar6
017E D0 05 659 pop ar5
0180 D0 04 660 pop ar4
0182 D0 03 661 pop ar3
0184 D0 02 662 pop ar2
663 ;c:/hj51avr/code/c/fil10.c:151: tmp = tmp/10;
664 ; genAssign
0186 E4 665 clr a
0187 F5 12 666 mov (__divsint_PARM_2 + 1),a
0189 75 11 0A 667 mov __divsint_PARM_2,#0x0A
668 ; genCall
018C 8A 82 669 mov dpl,r2
018E 8B 83 670 mov dph,r3
0190 C0 04 671 push ar4
0192 C0 05 672 push ar5
0194 C0 06 673 push ar6
0196 12 02 7F 674 lcall __divsint
0199 AA 82 675 mov r2,dpl
019B AB 83 676 mov r3,dph
019D D0 06 677 pop ar6
019F D0 05 678 pop ar5
01A1 D0 04 679 pop ar4
680 ;c:/hj51avr/code/c/fil10.c:146: for(i =0;i<6;i++)
681 ; genPlus
682 ; genPlusIncr
01A3 0C 683 inc r4
684 ; Peephole 112.b changed ljmp to sjmp
01A4 80 8C 685 sjmp 00101$
01A6 686 00104$:
687 ;c:/hj51avr/code/c/fil10.c:154: display(255,nu);
688 ; genCast
01A6 8D 11 689 mov _display_PARM_2,r5
690 ; genCall
01A8 75 82 FF 691 mov dpl,#0xFF
01AB 12 00 F2 692 lcall _display
01AE 693 00105$:
01AE 22 694 ret
695 .area CSEG (CODE)
01AF 696 _disbuf_u:
01AF C0 697 .db #0xC0
01B0 F9 698 .db #0xF9
01B1 A4 699 .db #0xA4
01B2 B0 700 .db #0xB0
01B3 99 701 .db #0x99
01B4 92 702 .db #0x92
01B5 82 703 .db #0x82
01B6 F8 704 .db #0xF8
01B7 80 705 .db #0x80
01B8 90 706 .db #0x90
01B9 88 707 .db #0x88
01BA 83 708 .db #0x83
01BB C6 709 .db #0xC6
01BC A1 710 .db #0xA1
01BD 86 711 .db #0x86
01BE 8E 712 .db #0x8E
01BF 40 713 .db #0x40
01C0 79 714 .db #0x79
01C1 24 715 .db #0x24
01C2 30 716 .db #0x30
01C3 19 717 .db #0x19
01C4 12 718 .db #0x12
01C5 02 719 .db #0x02
01C6 78 720 .db #0x78
01C7 00 721 .db #0x00
01C8 10 722 .db #0x10
01C9 08 723 .db #0x08
01CA 03 724 .db #0x03
01CB 46 725 .db #0x46
01CC 21 726 .db #0x21
01CD 06 727 .db #0x06
01CE 0E 728 .db #0x0E
729 .area XINIT (CODE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -