⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fil10.rst

📁 单片机学习系统附的实验源代码
💻 RST
📖 第 1 页 / 共 3 页
字号:
   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 + -