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

📄 main.lst

📁 我用PROTEUS做了一个基于PIC16F877A的万年历
💻 LST
📖 第 1 页 / 共 5 页
字号:
   250  005B  286D               	goto	u90
   251  005C                     u71
   252  005C  3090               	movlw	144
   253  005D  00F2               	movwf	btemp+2
   254  005E  3001               	movlw	1
   255  005F  00F3               	movwf	btemp+3
   256  0060  081F               	movf	(_year+1)^(0+256),w
   257  0061  00F1               	movwf	btemp+1
   258  0062  081E               	movf	_year^(0+256),w
   259  0063  00F0               	movwf	btemp
   260  0064  120A  118A  2788   	fcall	lwmod
      +       120A  118A         
   261  0069  0871               	movf	btemp+1,w
   262  006A  0470               	iorwf	btemp,w
   263  006B  1D03               	btfss	3,2
   264  006C  2870               	goto	l6
   265  006D                     u90
   266                           ;main.c: 61: { if(day>tian2[month-1])
   267  006D  031D               	decf	_month^(0+256),w
   268  006E  3E2C               	addlw	_tian2^(0+256)
   269  006F  2872               	goto	L1
   270                           ;main.c: 62: {
   271                           ;main.c: 64: month++;
   272                           ;main.c: 65: }
   273                           ;main.c: 67: else if(day>tian1[month-1])
   274  0070                     l6
   275  0070  031D               	decf	_month^(0+256),w
   276  0071  3E20               	addlw	_tian1^(0+256)
   277  0072                     L1
   278  0072  0084               	movwf	4
   279  0073  1783               	bsf	3,7
   280  0074  081C               	movf	_day^(0+256),w
   281  0075  0200               	subwf	0,w
   282  0076  1803               	btfsc	3,0
   283  0077  287B               	goto	l8
   284                           ;main.c: 68: {
   285  0078  019C               	clrf	_day^(0+256)
   286  0079  0A9C               	incf	_day^(0+256)
   287                           ;main.c: 70: month++;
   288  007A  0A9D               	incf	_month^(0+256)
   289                           ;main.c: 71: }
   290  007B                     l8
   291  007B  300D               	movlw	13
   292  007C  021D               	subwf	_month^(0+256),w
   293  007D  1C03               	btfss	3,0
   294  007E  2884               	goto	l1
   295                           ;main.c: 73: {
   296  007F  019D               	clrf	_month^(0+256)
   297  0080  0A9D               	incf	_month^(0+256)
   298                           ;main.c: 75: year++;
   299  0081  0A9E               	incf	_year^(0+256)
   300  0082  1903               	btfsc	3,2
   301  0083  0A9F               	incf	(_year+1)^(0+256)
   302                           ;main.c: 76: }
   303                           ;main.c: 78: }
   304                           ;main.c: 79: }
   305                           ;main.c: 80: }
   306                           ;main.c: 81: }
   307  0084                     l1
   308  0084  1303               	bcf	3,6	;carry unused
   309  0085  1283               	bcf	3,5
   310                           
   311                           	psect	intsave_0
   312  0077                     saved_w
   313  0077                     	ds	1
   314                           
   315                           	psect	intret
   316  0094  085C               	movf	saved_fsr,w
   317  0095  0084               	movwf	4	;restore FSR
   318  0096  085D               	movf	saved_pclath,w
   319  0097  008A               	movwf	10
   320  0098                     int_restore
   321  0098  085B               	movf	saved_status,w
   322  0099  0083               	movwf	3
   323  009A  0EF7               	swapf	saved_w
   324  009B  0E77               	swapf	saved_w,w
   325  009C  0009               	retfie
   326                           
   327                           	psect	intentry
   328  0004                     int_entry
   329  0004  00F7               	movwf	saved_w
   330  0005  0803               	movf	3,w
   331  0006  0183               	clrf	3
   332  0007  00DB               	movwf	saved_status
   333  0008  0804               	movf	4,w
   334  0009  00DC               	movwf	saved_fsr
   335  000A  080A               	movf	10,w
   336  000B  00DD               	movwf	saved_pclath
   337  000C  018A               	clrf	10
   338                           
   339                           	psect	intsave
   340  005B                     saved_status
   341  005B                     	ds	1
   342  005C                     saved_fsr
   343  005C                     	ds	1
   344  005D                     saved_pclath
   345  005D                     	ds	1
   346                           
   347                           	psect	text2
   348                           ;main.c: 125: void time_seting()
   349                           ;main.c: 126: {
   350  0412                     _time_seting
   351                           ;main.c: 127: if(shift==1)
   352  0412  1283               	bcf	3,5
   353  0413  1703               	bsf	3,6
   354  0414  0B19               	decfsz	_shift^(0+256),w
   355  0415  2C28               	goto	l24
   356                           ;main.c: 128: {
   357  0416  0B11               	decfsz	_add^(0+256),w
   358  0417  2C1E               	goto	l25
   359                           ;main.c: 130: {
   360  0418  0A97               	incf	_second^(0+256)
   361                           ;main.c: 132: if(second>59)second=0;
   362  0419  303C               	movlw	60
   363  041A  0217               	subwf	_second^(0+256),w
   364  041B  1803               	btfsc	3,0
   365  041C  0197               	clrf	_second^(0+256)
   366                           ;main.c: 133: add=0;
   367  041D  0191               	clrf	_add^(0+256)
   368  041E                     l25
   369                           ;main.c: 134: }
   370  041E  0B16               	decfsz	_reduce^(0+256),w
   371  041F  2C28               	goto	l24
   372                           ;main.c: 136: {
   373  0420  0397               	decf	_second^(0+256)
   374                           ;main.c: 138: if(second>59) second=59;
   375  0421  303C               	movlw	60
   376  0422  0217               	subwf	_second^(0+256),w
   377  0423  1C03               	btfss	3,0
   378  0424  2C27               	goto	l28
   379  0425  303B               	movlw	59
   380  0426  0097               	movwf	_second^(0+256)
   381  0427                     l28
   382                           ;main.c: 139: reduce=0;
   383  0427  0196               	clrf	_reduce^(0+256)
   384                           ;main.c: 140: }
   385  0428                     l24
   386                           ;main.c: 143: if(shift==2)
   387  0428  0819               	movf	_shift^(0+256),w
   388  0429  3A02               	xorlw	2
   389  042A  1D03               	btfss	3,2
   390  042B  2C3E               	goto	l29
   391                           ;main.c: 144: {
   392  042C  0B11               	decfsz	_add^(0+256),w
   393  042D  2C34               	goto	l30
   394                           ;main.c: 146: {
   395  042E  0A95               	incf	_minute^(0+256)
   396                           ;main.c: 148: if(minute>59)minute=0;
   397  042F  303C               	movlw	60
   398  0430  0215               	subwf	_minute^(0+256),w
   399  0431  1803               	btfsc	3,0
   400  0432  0195               	clrf	_minute^(0+256)
   401                           ;main.c: 149: add=0;
   402  0433  0191               	clrf	_add^(0+256)
   403  0434                     l30
   404                           ;main.c: 150: }
   405  0434  0B16               	decfsz	_reduce^(0+256),w
   406  0435  2C3E               	goto	l29
   407                           ;main.c: 152: {
   408  0436  0395               	decf	_minute^(0+256)
   409                           ;main.c: 154: if(minute>59)minute=59;
   410  0437  303C               	movlw	60
   411  0438  0215               	subwf	_minute^(0+256),w
   412  0439  1C03               	btfss	3,0
   413  043A  2C3D               	goto	l33
   414  043B  303B               	movlw	59
   415  043C  0095               	movwf	_minute^(0+256)
   416  043D                     l33
   417                           ;main.c: 155: reduce=0;
   418  043D  0196               	clrf	_reduce^(0+256)
   419                           ;main.c: 156: }
   420  043E                     l29
   421                           ;main.c: 159: if(shift==3)
   422  043E  0819               	movf	_shift^(0+256),w
   423  043F  3A03               	xorlw	3
   424  0440  1D03               	btfss	3,2
   425  0441  2C54               	goto	l34
   426                           ;main.c: 160: {
   427  0442  0B11               	decfsz	_add^(0+256),w
   428  0443  2C4A               	goto	l35
   429                           ;main.c: 162: {
   430  0444  0A92               	incf	_hour^(0+256)
   431                           ;main.c: 164: if(hour>23)hour=0;
   432  0445  3018               	movlw	24
   433  0446  0212               	subwf	_hour^(0+256),w
   434  0447  1803               	btfsc	3,0
   435  0448  0192               	clrf	_hour^(0+256)
   436                           ;main.c: 165: add=0;
   437  0449  0191               	clrf	_add^(0+256)
   438  044A                     l35
   439                           ;main.c: 166: }
   440  044A  0B16               	decfsz	_reduce^(0+256),w
   441  044B  2C54               	goto	l34
   442                           ;main.c: 168: {
   443  044C  0392               	decf	_hour^(0+256)
   444                           ;main.c: 170: if(hour>23)hour=23;
   445  044D  3018               	movlw	24
   446  044E  0212               	subwf	_hour^(0+256),w
   447  044F  1C03               	btfss	3,0
   448  0450  2C53               	goto	l38
   449  0451  3017               	movlw	23
   450  0452  0092               	movwf	_hour^(0+256)
   451  0453                     l38
   452                           ;main.c: 171: reduce=0;
   453  0453  0196               	clrf	_reduce^(0+256)
   454                           ;main.c: 172: }
   455  0454                     l34
   456                           ;main.c: 175: if(shift==4)
   457  0454  0819               	movf	_shift^(0+256),w
   458  0455  3A04               	xorlw	4
   459  0456  1D03               	btfss	3,2
   460  0457  2CE4               	goto	l39
   461                           ;main.c: 176: {
   462  0458  0B11               	decfsz	_add^(0+256),w
   463  0459  2C95               	goto	l40
   464                           ;main.c: 178: {
   465  045A  0A9C               	incf	_day^(0+256)
   466                           ;main.c: 180: if((year%4==0)&&(year%100!=0)||(y
      +                          ear%400==0))
   467  045B  081F               	movf	(_year+1)^(0+256),w
   468  045C  00F1               	movwf	btemp+1
   469  045D  081E               	movf	_year^(0+256),w
   470  045E  00F0               	movwf	btemp
   471  045F  3003               	movlw	3
   472  0460  05F0               	andwf	btemp
   473  0461  01F1               	clrf	btemp+1
   474  0462  0871               	movf	btemp+1,w
   475  0463  0470               	iorwf	btemp,w
   476  0464  1D03               	btfss	3,2
   477  0465  2C76               	goto	u331
   478  0466  3064               	movlw	100
   479  0467  00F2               	movwf	btemp+2
   480  0468  01F3               	clrf	btemp+3
   481  0469  081F               	movf	(_year+1)^(0+256),w
   482  046A  00F1               	movwf	btemp+1
   483  046B  081E               	movf	_year^(0+256),w
   484  046C  00F0               	movwf	btemp
   485  046D  120A  118A  2788   	fcall	lwmod
      +       120A  118A         
   486  0472  0871               	movf	btemp+1,w
   487  0473  0470               	iorwf	btemp,w
   488  0474  1D03               	btfss	3,2
   489  0475  2C87               	goto	u350
   490  0476                     u331
   491  0476  3090               	movlw	144
   492  0477  00F2               	movwf	btemp+2
   493  0478  3001               	movlw	1
   494  0479  00F3               	movwf	btemp+3
   495  047A  081F               	movf	(_year+1)^(0+256),w
   496  047B  00F1               	movwf	btemp+1
   497  047C  081E               	movf	_year^(0+256),w
   498  047D  00F0               	movwf	btemp
   499  047E  120A  118A  2788   	fcall	lwmod
      +       120A  118A         
   500  0483  0871               	movf	btemp+1,w
   501  0484  0470               	iorwf	btemp,w
   502  0485  1D03               	btfss	3,2
   503  0486  2C8A               	goto	l41
   504  0487                     u350
   505                           ;main.c: 181: { if(day>tian2[month-1])day=1;}
   506  0487  031D               	decf	_month^(0+256),w
   507  0488  3E2C               	addlw	_tian2^(0+256)
   508  0489  2C8C               	goto	L11

⌨️ 快捷键说明

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