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

📄 demo10.lst

📁 PICC学习与PROTUES仿真实现
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V9.50PL2
                                                      Fri Apr 11 12:11:13 2008


     1                           	processor	16F877
     2                           	opt	pw 79
     3                           	psect	rdata_0,global,class=BANK0,space=1,delta
      +                          =1
     4                           	psect	idata_0,global,class=CODE,delta=2
     5                           	psect	text1,local,class=CODE,delta=2
     6                           	psect	text4,local,class=CODE,delta=2
     7                           	psect	intcode,global,class=CODE,delta=2
     8                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
     9                           	psect	intret,global,class=CODE,delta=2
    10                           	psect	intentry,global,class=CODE,delta=2
    11                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    12                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23                           
    24                           	psect	rdata_0
    25  0027                     _Counter
    26  0027                     	ds	4
    27  002B                     _Sign
    28  002B                     	ds	1
    29                           
    30                           	psect	idata_0
    31  07FB  3401               	retlw	1
    32  07FC  3400               	retlw	0
    33  07FD  3400               	retlw	0
    34  07FE  3400               	retlw	0
    35  07FF  3405               	retlw	5
    36                           
    37                           	psect	text1
    38  0774                     _DELAY
    39                           ;	_i assigned to ?a_DELAY+0
    40  0000                     _DELAY$i	set	?a_DELAY
    41                           ;	_j assigned to ?a_DELAY+2
    42  0000                     _DELAY$j	set	?a_DELAY+2
    43                           ;demo10.c: 16: void DELAY(unsigned int n)
    44  0774  0183               	clrf	3	;select bank 0
    45  0775  0821               	movf	?_DELAY,w
    46  0776  00A3               	movwf	?a_DELAY
    47  0777  0822               	movf	?_DELAY+1,w
    48  0778  00A4               	movwf	?a_DELAY+1
    49  0779  2F86               	goto	l6
    50  077A                     l3
    51                           ;demo10.c: 20: for(j=0;j<1000;j++)
    52  077A  01A5               	clrf	?a_DELAY+2
    53  077B  01A6               	clrf	?a_DELAY+3
    54                           ;demo10.c: 21: continue;
    55  077C                     l9
    56  077C  0AA5               	incf	?a_DELAY+2
    57  077D  1903               	btfsc	3,2
    58  077E  0AA6               	incf	?a_DELAY+3
    59  077F  3003               	movlw	3
    60  0780  0226               	subwf	?a_DELAY+3,w
    61  0781  30E8               	movlw	232
    62  0782  1903               	btfsc	3,2
    63  0783  0225               	subwf	?a_DELAY+2,w
    64  0784  1C03               	btfss	3,0
    65  0785  2F7C               	goto	l9
    66  0786                     l6
    67  0786  0823               	movf	?a_DELAY,w
    68  0787  1903               	btfsc	3,2
    69  0788  03A4               	decf	?a_DELAY+1
    70  0789  03A3               	decf	?a_DELAY
    71  078A  0A23               	incf	?a_DELAY,w
    72  078B  1903               	btfsc	3,2
    73  078C  0A24               	incf	?a_DELAY+1,w
    74  078D  1903               	btfsc	3,2
    75  078E  0008               	return
    76  078F  2F7A               	goto	l3
    77  0790                     _INT
    78                           ;demo10.c: 23: void INT()
    79  0790  178B               	bsf	11,7
    80                           ;demo10.c: 26: INTE=1;
    81  0791  160B               	bsf	11,4
    82                           ;demo10.c: 27: PORTB=PORTB;
    83  0792  1283               	bcf	3,5
    84  0793  1303               	bcf	3,6	;carry unused
    85  0794  0806               	movf	6,w	;volatile
    86  0795  0086               	movwf	6	;volatile
    87                           ;demo10.c: 28: RBIE=1;
    88  0796  158B               	bsf	11,3
    89                           ;demo10.c: 29: T0IE=1;
    90  0797  168B               	bsf	11,5
    91                           ;demo10.c: 30: }
    92  0798  0008               	return	;W free
    93  0799                     _initial
    94                           ;demo10.c: 5: void initial()
    95  0799  018B               	clrf	11	;volatile
    96                           ;demo10.c: 8: OPTION=0X01;
    97  079A  1683               	bsf	3,5
    98  079B  1303               	bcf	3,6	;carry unused
    99  079C  0181               	clrf	1
   100  079D  0A81               	incf	1
   101                           ;demo10.c: 9: ADCON1=0X06;
   102  079E  3006               	movlw	6
   103  079F  009F               	movwf	31	;volatile
   104                           ;demo10.c: 10: TRISE=0X00;
   105  07A0  0189               	clrf	9	;volatile
   106                           ;demo10.c: 11: PORTE=0X04;
   107  07A1  3004               	movlw	4
   108  07A2  1283               	bcf	3,5
   109  07A3  0089               	movwf	9	;volatile
   110                           ;demo10.c: 12: TRISB=0XFF;
   111  07A4  30FF               	movlw	-1
   112  07A5  1683               	bsf	3,5
   113  07A6  0086               	movwf	6	;volatile
   114                           ;demo10.c: 13: TRISD=0X00;
   115  07A7  0188               	clrf	8	;volatile
   116                           ;demo10.c: 14: PORTD=0X00;
   117  07A8  1283               	bcf	3,5
   118  07A9  0188               	clrf	8	;volatile
   119                           ;demo10.c: 15: }
   120  07AA  0008               	return	;W free
   121  07AB                     _main
   122                           ;demo10.c: 31: void main()
   123  07AB  2799               	fcall	_initial
   124                           ;demo10.c: 34: INT();
   125  07AC  2790               	fcall	_INT
   126  07AD                     l13
   127                           ;demo10.c: 35: while(1)
   128                           ;demo10.c: 36: {
   129  07AD  0063               	sleep	;#
   130                           ;demo10.c: 38: asm("nop");
   131  07AE  0000               	nop	;#
   132                           ;demo10.c: 39: if(Sign==0)
   133  07AF  082B               	movf	_Sign,w	;volatile
   134  07B0  1D03               	btfss	3,2
   135  07B1  2FD5               	goto	l15
   136                           ;demo10.c: 40: {
   137  07B2  3005               	movlw	5
   138  07B3  00AB               	movwf	_Sign	;volatile
   139                           ;demo10.c: 42: RE2=1;
   140  07B4  1509               	bsf	9,2
   141                           ;demo10.c: 43: PORTD=0;
   142  07B5  0188               	clrf	8	;volatile
   143                           ;demo10.c: 44: TMR0=0X06;
   144  07B6  3006               	movlw	6
   145  07B7  0081               	movwf	1	;volatile
   146  07B8                     l16
   147                           ;demo10.c: 45: for(;;)
   148                           ;demo10.c: 46: {
   149  07B8  3014               	movlw	20
   150  07B9  00A1               	movwf	?_DELAY
   151  07BA  01A2               	clrf	?_DELAY+1
   152  07BB  2774               	fcall	_DELAY
   153                           ;demo10.c: 48: RE0=!RE0;
   154  07BC  3001               	movlw	1
   155  07BD  0689               	xorwf	9
   156                           ;demo10.c: 49: if(Counter>=60000)
   157  07BE  3000               	movlw	0
   158  07BF  022A               	subwf	_Counter+3,w	;volatile
   159  07C0  1D03               	btfss	3,2
   160  07C1  2FCC               	goto	u45
   161  07C2  3000               	movlw	0
   162  07C3  0229               	subwf	_Counter+2,w	;volatile
   163  07C4  1D03               	btfss	3,2
   164  07C5  2FCC               	goto	u45
   165  07C6  30EA               	movlw	234
   166  07C7  0228               	subwf	_Counter+1,w	;volatile
   167  07C8  1D03               	btfss	3,2
   168  07C9  2FCC               	goto	u45
   169  07CA  3060               	movlw	96
   170  07CB  0227               	subwf	_Counter,w	;volatile
   171  07CC                     u45
   172  07CC  1C03               	btfss	3,0
   173  07CD  2FB8               	goto	l16
   174                           ;demo10.c: 50: {
   175  07CE  1009               	bcf	9,0
   176                           ;demo10.c: 52: Counter=1;
   177  07CF  3001               	movlw	1
   178  07D0  00A7               	movwf	_Counter	;volatile
   179  07D1  01A8               	clrf	_Counter+1	;volatile
   180  07D2  01A9               	clrf	_Counter+2	;volatile
   181  07D3  01AA               	clrf	_Counter+3	;volatile
   182                           ;demo10.c: 53: RBIF=0;
   183  07D4  100B               	bcf	11,0
   184                           ;demo10.c: 54: break;
   185                           ;demo10.c: 55: }
   186  07D5                     l15
   187                           ;demo10.c: 57: }
   188  07D5  0B2B               	decfsz	_Sign,w	;volatile
   189  07D6  2FAD               	goto	l13
   190                           ;demo10.c: 59: {
   191  07D7  3005               	movlw	5
   192  07D8  00AB               	movwf	_Sign	;volatile
   193                           ;demo10.c: 61: PORTD=tmp;
   194  07D9  0820               	movf	_tmp,w	;volatile
   195  07DA  0088               	movwf	8	;volatile
   196                           ;demo10.c: 62: RE2=0;
   197  07DB  1109               	bcf	9,2
   198                           ;demo10.c: 63: TMR0=0X06;
   199  07DC  3006               	movlw	6
   200  07DD  0081               	movwf	1	;volatile
   201  07DE                     l21
   202                           ;demo10.c: 64: for(;;)
   203                           ;demo10.c: 65: {
   204  07DE  300A               	movlw	10
   205  07DF  00A1               	movwf	?_DELAY
   206  07E0  01A2               	clrf	?_DELAY+1
   207  07E1  2774               	fcall	_DELAY
   208                           ;demo10.c: 67: RE0=!RE0;
   209  07E2  3001               	movlw	1
   210  07E3  0689               	xorwf	9
   211                           ;demo10.c: 68: if(Counter>=30000)
   212  07E4  3000               	movlw	0
   213  07E5  022A               	subwf	_Counter+3,w	;volatile
   214  07E6  1D03               	btfss	3,2
   215  07E7  2FF2               	goto	u65
   216  07E8  3000               	movlw	0
   217  07E9  0229               	subwf	_Counter+2,w	;volatile
   218  07EA  1D03               	btfss	3,2
   219  07EB  2FF2               	goto	u65
   220  07EC  3075               	movlw	117
   221  07ED  0228               	subwf	_Counter+1,w	;volatile
   222  07EE  1D03               	btfss	3,2
   223  07EF  2FF2               	goto	u65
   224  07F0  3030               	movlw	48
   225  07F1  0227               	subwf	_Counter,w	;volatile
   226  07F2                     u65
   227  07F2  1C03               	btfss	3,0
   228  07F3  2FDE               	goto	l21
   229                           ;demo10.c: 69: {
   230  07F4  1009               	bcf	9,0
   231                           ;demo10.c: 71: Counter=1;
   232  07F5  3001               	movlw	1
   233  07F6  00A7               	movwf	_Counter	;volatile
   234  07F7  01A8               	clrf	_Counter+1	;volatile
   235  07F8  01A9               	clrf	_Counter+2	;volatile
   236  07F9  01AA               	clrf	_Counter+3	;volatile
   237                           ;demo10.c: 72: break;
   238  07FA  2FAD               	goto	l13
   239                           
   240                           	psect	intcode
   241  000B                     _tt
   242  000B                     int_func
   243                           ;demo10.c: 79: void interrupt tt(void)
   244  000B  1D0B               	btfss	11,2
   245  000C  2819               	goto	l26
   246                           ;demo10.c: 82: {
   247  000D  3006               	movlw	6
   248  000E  1283               	bcf	3,5
   249  000F  1303               	bcf	3,6	;carry unused
   250  0010  0081               	movwf	1	;volatile
   251                           ;demo10.c: 84: Counter++;
   252  0011  0AA7               	incf	_Counter	;volatile
   253  0012  1903               	btfsc	3,2
   254  0013  0AA8               	incf	_Counter+1	;volatile
   255  0014  1903               	btfsc	3,2
   256  0015  0AA9               	incf	_Counter+2	;volatile
   257  0016  1903               	btfsc	3,2
   258  0017  0AAA               	incf	_Counter+3	;volatile
   259                           ;demo10.c: 85: T0IF=0;
   260  0018  110B               	bcf	11,2
   261  0019                     l26
   262                           ;demo10.c: 86: }
   263  0019  1C8B               	btfss	11,1
   264  001A  281F               	goto	l27
   265                           ;demo10.c: 88: {
   266  001B  1283               	bcf	3,5
   267  001C  1303               	bcf	3,6	;carry unused
   268  001D  01AB               	clrf	_Sign	;volatile
   269                           ;demo10.c: 90: INTF=0;
   270  001E  108B               	bcf	11,1
   271  001F                     l27
   272                           ;demo10.c: 91: }
   273  001F  1C0B               	btfss	11,0
   274  0020  2836               	goto	l25
   275                           ;demo10.c: 93: {
   276  0021  3001               	movlw	1
   277  0022  1283               	bcf	3,5
   278  0023  1303               	bcf	3,6	;carry unused
   279  0024  00AB               	movwf	_Sign	;volatile
   280                           ;demo10.c: 95: if(RB4==0)tmp=0x80;
   281  0025  1A06               	btfsc	6,4
   282  0026  2829               	goto	l29
   283  0027  3080               	movlw	-128
   284  0028  00A0               	movwf	_tmp	;volatile
   285  0029                     l29
   286                           ;demo10.c: 96: if(RB5==0)tmp=0x40;
   287  0029  1A86               	btfsc	6,5
   288  002A  282D               	goto	l30
   289  002B  3040               	movlw	64
   290  002C  00A0               	movwf	_tmp	;volatile
   291  002D                     l30
   292                           ;demo10.c: 97: if(RB6==0)tmp=0x20;
   293  002D  1B06               	btfsc	6,6
   294  002E  2831               	goto	l31
   295  002F  3020               	movlw	32
   296  0030  00A0               	movwf	_tmp	;volatile
   297  0031                     l31
   298                           ;demo10.c: 98: if(RB7==0)tmp=0x10;
   299  0031  1B86               	btfsc	6,7
   300  0032  2835               	goto	l32
   301  0033  3010               	movlw	16
   302  0034  00A0               	movwf	_tmp	;volatile

⌨️ 快捷键说明

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