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

📄 main.lst

📁 我用PROTEUS做了一个基于PIC16F877A的万年历
💻 LST
📖 第 1 页 / 共 5 页
字号:
   509                           ;main.c: 182: else if(day>tian1[month-1])day=1;
   510  048A                     l41
   511  048A  031D               	decf	_month^(0+256),w
   512  048B  3E20               	addlw	_tian1^(0+256)
   513  048C                     L11
   514  048C  0084               	movwf	4
   515  048D  1783               	bsf	3,7
   516  048E  081C               	movf	_day^(0+256),w
   517  048F  0200               	subwf	0,w
   518  0490  1803               	btfsc	3,0
   519  0491  2C94               	goto	l43
   520  0492  019C               	clrf	_day^(0+256)
   521  0493  0A9C               	incf	_day^(0+256)
   522                           ;main.c: 183: add=0;
   523  0494                     l43
   524  0494  0191               	clrf	_add^(0+256)
   525  0495                     l40
   526                           ;main.c: 184: }
   527  0495  0B16               	decfsz	_reduce^(0+256),w
   528  0496  2CE4               	goto	l39
   529                           ;main.c: 186: {
   530  0497  039C               	decf	_day^(0+256)
   531                           ;main.c: 188: if((year%4==0)&&(year%100!=0)||(y
      +                          ear%400==0))
   532  0498  081F               	movf	(_year+1)^(0+256),w
   533  0499  00F1               	movwf	btemp+1
   534  049A  081E               	movf	_year^(0+256),w
   535  049B  00F0               	movwf	btemp
   536  049C  3003               	movlw	3
   537  049D  05F0               	andwf	btemp
   538  049E  01F1               	clrf	btemp+1
   539  049F  0871               	movf	btemp+1,w
   540  04A0  0470               	iorwf	btemp,w
   541  04A1  1D03               	btfss	3,2
   542  04A2  2CB3               	goto	u411
   543  04A3  3064               	movlw	100
   544  04A4  00F2               	movwf	btemp+2
   545  04A5  01F3               	clrf	btemp+3
   546  04A6  081F               	movf	(_year+1)^(0+256),w
   547  04A7  00F1               	movwf	btemp+1
   548  04A8  081E               	movf	_year^(0+256),w
   549  04A9  00F0               	movwf	btemp
   550  04AA  120A  118A  2788   	fcall	lwmod
      +       120A  118A         
   551  04AF  0871               	movf	btemp+1,w
   552  04B0  0470               	iorwf	btemp,w
   553  04B1  1D03               	btfss	3,2
   554  04B2  2CC4               	goto	u430
   555  04B3                     u411
   556  04B3  3090               	movlw	144
   557  04B4  00F2               	movwf	btemp+2
   558  04B5  3001               	movlw	1
   559  04B6  00F3               	movwf	btemp+3
   560  04B7  081F               	movf	(_year+1)^(0+256),w
   561  04B8  00F1               	movwf	btemp+1
   562  04B9  081E               	movf	_year^(0+256),w
   563  04BA  00F0               	movwf	btemp
   564  04BB  120A  118A  2788   	fcall	lwmod
      +       120A  118A         
   565  04C0  0871               	movf	btemp+1,w
   566  04C1  0470               	iorwf	btemp,w
   567  04C2  1D03               	btfss	3,2
   568  04C3  2CD2               	goto	l46
   569  04C4                     u430
   570                           ;main.c: 189: {if(day<=0||day>tian2[month-1]) d
      +                          ay=tian2[month-1];}
   571  04C4  089C               	movf	_day^(0+256)
   572  04C5  1903               	btfsc	3,2
   573  04C6  2CCF               	goto	u460
   574  04C7  031D               	decf	_month^(0+256),w
   575  04C8  3E2C               	addlw	_tian2^(0+256)
   576  04C9  0084               	movwf	4
   577  04CA  1783               	bsf	3,7
   578  04CB  081C               	movf	_day^(0+256),w
   579  04CC  0200               	subwf	0,w
   580  04CD  1803               	btfsc	3,0
   581  04CE  2CE3               	goto	l48
   582  04CF                     u460
   583  04CF  031D               	decf	_month^(0+256),w
   584  04D0  3E2C               	addlw	_tian2^(0+256)
   585  04D1  2CDF               	goto	L10
   586                           ;main.c: 190: else if(day<=0||day>tian1[month-1
      +                          ]) day=tian1[month-1];
   587  04D2                     l46
   588  04D2  089C               	movf	_day^(0+256)
   589  04D3  1903               	btfsc	3,2
   590  04D4  2CDD               	goto	u490
   591  04D5  031D               	decf	_month^(0+256),w
   592  04D6  3E20               	addlw	_tian1^(0+256)
   593  04D7  0084               	movwf	4
   594  04D8  1783               	bsf	3,7
   595  04D9  081C               	movf	_day^(0+256),w
   596  04DA  0200               	subwf	0,w
   597  04DB  1803               	btfsc	3,0
   598  04DC  2CE3               	goto	l48
   599  04DD                     u490
   600  04DD  031D               	decf	_month^(0+256),w
   601  04DE  3E20               	addlw	_tian1^(0+256)
   602  04DF                     L10
   603  04DF  0084               	movwf	4
   604  04E0  1783               	bsf	3,7
   605  04E1  0800               	movf	0,w
   606  04E2  009C               	movwf	_day^(0+256)
   607                           ;main.c: 191: reduce=0;
   608  04E3                     l48
   609  04E3  0196               	clrf	_reduce^(0+256)
   610                           ;main.c: 192: }
   611  04E4                     l39
   612                           ;main.c: 195: if(shift==5)
   613  04E4  0819               	movf	_shift^(0+256),w
   614  04E5  3A05               	xorlw	5
   615  04E6  1D03               	btfss	3,2
   616  04E7  2CFC               	goto	l50
   617                           ;main.c: 196: {
   618  04E8  0B11               	decfsz	_add^(0+256),w
   619  04E9  2CF2               	goto	l51
   620                           ;main.c: 198: {
   621  04EA  0A9D               	incf	_month^(0+256)
   622                           ;main.c: 200: if(month>12)month=1;
   623  04EB  300D               	movlw	13
   624  04EC  021D               	subwf	_month^(0+256),w
   625  04ED  1C03               	btfss	3,0
   626  04EE  2CF1               	goto	l52
   627  04EF  019D               	clrf	_month^(0+256)
   628  04F0  0A9D               	incf	_month^(0+256)
   629  04F1                     l52
   630                           ;main.c: 201: add=0;
   631  04F1  0191               	clrf	_add^(0+256)
   632  04F2                     l51
   633                           ;main.c: 202: }
   634  04F2  0B16               	decfsz	_reduce^(0+256),w
   635  04F3  2CFC               	goto	l50
   636                           ;main.c: 204: {
   637  04F4  039D               	decf	_month^(0+256)
   638                           ;main.c: 206: if(month>12)month=1;
   639  04F5  300D               	movlw	13
   640  04F6  021D               	subwf	_month^(0+256),w
   641  04F7  1C03               	btfss	3,0
   642  04F8  2CFB               	goto	l54
   643  04F9  019D               	clrf	_month^(0+256)
   644  04FA  0A9D               	incf	_month^(0+256)
   645  04FB                     l54
   646                           ;main.c: 207: reduce=0;
   647  04FB  0196               	clrf	_reduce^(0+256)
   648                           ;main.c: 208: }
   649  04FC                     l50
   650                           ;main.c: 211: if(shift==6)
   651  04FC  0819               	movf	_shift^(0+256),w
   652  04FD  3A06               	xorlw	6
   653  04FE  1D03               	btfss	3,2
   654  04FF  2D18               	goto	l23
   655                           ;main.c: 212: {
   656  0500  0B11               	decfsz	_add^(0+256),w
   657  0501  2D06               	goto	l56
   658                           ;main.c: 214: {
   659  0502  0A9E               	incf	_year^(0+256)
   660  0503  1903               	btfsc	3,2
   661  0504  0A9F               	incf	(_year+1)^(0+256)
   662                           ;main.c: 216: add=0;
   663  0505  0191               	clrf	_add^(0+256)
   664  0506                     l56
   665                           ;main.c: 217: }
   666  0506  0B16               	decfsz	_reduce^(0+256),w
   667  0507  2D18               	goto	l23
   668                           ;main.c: 219: {year--;
   669  0508  089E               	movf	_year^(0+256)
   670  0509  1903               	btfsc	3,2
   671  050A  039F               	decf	(_year+1)^(0+256)
   672  050B  039E               	decf	_year^(0+256)
   673                           ;main.c: 220: if(year<2008)year=2008;
   674  050C  3007               	movlw	7
   675  050D  021F               	subwf	(_year+1)^(0+256),w
   676  050E  30D8               	movlw	216
   677  050F  1903               	btfsc	3,2
   678  0510  021E               	subwf	_year^(0+256),w
   679  0511  1803               	btfsc	3,0
   680  0512  2D17               	goto	l58
   681  0513  30D8               	movlw	216
   682  0514  009E               	movwf	_year^(0+256)
   683  0515  3007               	movlw	7
   684  0516  009F               	movwf	(_year^(0+256)+1)
   685  0517                     l58
   686                           ;main.c: 221: reduce=0;
   687  0517  0196               	clrf	_reduce^(0+256)
   688                           ;main.c: 222: }
   689                           ;main.c: 226: }
   690  0518                     l23
   691  0518  1303               	bcf	3,6	;carry unused
   692  0519  0008               	return
   693                           ;main.c: 83: void time_display()
   694                           ;main.c: 84: {
   695  051A                     _time_display
   696                           ;	_temp2 assigned to ?a_time_display+0
   697  0000                     _time_display$temp2	set	?a_time_display
   698                           ;	_temp1 assigned to ?a_time_display+3
   699  0000                     _time_display$temp1	set	?a_time_display+3
   700                           ;	_temp3 assigned to ?a_time_display+8
   701  0000                     _time_display$temp3	set	?a_time_display+8
   702                           ;main.c: 85: unsigned char temp1[]="    ";
   703  051A  3020               	movlw	32
   704  051B  0183               	clrf	3	;select bank 0
   705  051C  00A3               	movwf	?a_time_display+3
   706  051D  00A4               	movwf	?a_time_display+4
   707  051E  00A5               	movwf	?a_time_display+5
   708  051F  00A6               	movwf	?a_time_display+6
   709  0520  01A7               	clrf	?a_time_display+7
   710                           ;main.c: 86: unsigned char temp2[]="  ";
   711  0521  00A0               	movwf	?a_time_display
   712  0522  00A1               	movwf	?a_time_display+1
   713  0523  01A2               	clrf	?a_time_display+2
   714                           ;main.c: 87: unsigned char temp3[]="SET ";
   715  0524  3053               	movlw	83
   716  0525  00A8               	movwf	?a_time_display+8
   717  0526  3045               	movlw	69
   718  0527  00A9               	movwf	?a_time_display+9
   719  0528  3054               	movlw	84
   720  0529  00AA               	movwf	?a_time_display+10
   721  052A  3020               	movlw	32
   722  052B  00AB               	movwf	?a_time_display+11
   723  052C  01AC               	clrf	?a_time_display+12
   724                           ;main.c: 88: LCD_WriteControl(0x80);
   725  052D  3080               	movlw	-128
   726  052E  120A  118A  2395   	fcall	_LCD_WriteControl
      +       120A  118A         
   727                           ;main.c: 89: switch(shift)
   728  0533  2D40               	goto	l13
   729  0534                     l14
   730                           ;main.c: 90: {
   731  0534  304D               	movlw	77
   732  0535  2D55               	goto	L7
   733  0536                     l15
   734                           ;main.c: 92: case 2:LCD_DisplayCharacter('F');b
      +                          reak;
   735  0536  3046               	movlw	70
   736  0537  2D55               	goto	L7
   737  0538                     l16
   738                           ;main.c: 93: case 3:LCD_DisplayCharacter('S');b
      +                          reak;
   739  0538  3053               	movlw	83
   740  0539  2D55               	goto	L7
   741  053A                     l17
   742                           ;main.c: 94: case 4:LCD_DisplayCharacter('R');b
      +                          reak;
   743  053A  3052               	movlw	82
   744  053B  2D55               	goto	L7
   745  053C                     l18
   746                           ;main.c: 95: case 5:LCD_DisplayCharacter('Y');b
      +                          reak;
   747  053C  3059               	movlw	89
   748  053D  2D55               	goto	L7
   749  053E                     l19
   750                           ;main.c: 96: case 6:LCD_DisplayCharacter('N');b
      +                          reak;
   751  053E  304E               	movlw	78
   752  053F  2D55               	goto	L7
   753  0540                     l13
   754  0540  1703               	bsf	3,6
   755  0541  0819               	movf	_shift^(0+256),w
   756  0542  3A01               	xorlw	1
   757  0543  1903               	btfsc	3,2
   758  0544  2D34               	goto	l14
   759  0545  3A03               	xorlw	3
   760  0546  1903               	btfsc	3,2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -