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

📄 lx.lst

📁 我用一个基于PIC16F877A的LED显示程序
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-51037                            Wed May 21 22:10:25 2008

Licensed to: ONE
     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z51037RS_,global,delta=1
     4                           	psect	strings,global,class=STRING,delta=2
     5                           	psect	const1,local,class=CONST,delta=2
     6                           	psect	rdata_3,global,class=BANK3,space=1,delta
      +                          =1
     7                           	psect	idata_3,global,class=CODE,delta=2
     8                           	psect	text2,local,class=CODE,delta=2
     9                           	psect	text6,local,class=CODE,delta=2
    10                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    11                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22                           
    23                           	psect	__Z51037RS_
    24  0192                     
    25  0192                     
    26                           
    27                           	psect	const1
    28  003F  0782               	addwf	2
    29  0040                     _table
    30  0040  343F               	retlw	63
    31  0041  3400               	retlw	0
    32  0042  3406               	retlw	6
    33  0043  3400               	retlw	0
    34  0044  345B               	retlw	91
    35  0045  3400               	retlw	0
    36  0046  344F               	retlw	79
    37  0047  3400               	retlw	0
    38  0048  3466               	retlw	102
    39  0049  3400               	retlw	0
    40  004A  346D               	retlw	109
    41  004B  3400               	retlw	0
    42  004C  347D               	retlw	125
    43  004D  3400               	retlw	0
    44  004E  3407               	retlw	7
    45  004F  3400               	retlw	0
    46  0050  347F               	retlw	127
    47  0051  3400               	retlw	0
    48  0052  346F               	retlw	111
    49  0053  3400               	retlw	0
    50                           
    51                           	psect	rdata_3
    52  0190                     _s
    53  0190                     	ds	1
    54  0191                     	ds	1
    55                           
    56                           	psect	idata_3
    57  07FE  3400               	retlw	0
    58  07FF  3400               	retlw	0
    59                           
    60                           	psect	text2
    61  078B                     _fasong
    62  078B  0183               	clrf	3	;select bank 0
    63  078C  082A               	movf	?_fasong,w
    64  078D  0093               	movwf	19	;volatile
    65  078E                     l6
    66                           ;lx.c: 30: do
    67                           ;lx.c: 31: {;}while(SSPIF==0);
    68  078E  1D8C               	btfss	12,3
    69  078F  2F8E               	goto	l6
    70                           ;lx.c: 32: SSPIF=0;
    71  0790  118C               	bcf	12,3
    72                           ;lx.c: 33: }
    73  0791  0008               	return
    74                           ;lx.c: 48: void display()
    75                           ;lx.c: 49: {RC7=0;
    76  0792                     _display
    77  0792  0183               	clrf	3	;select bank 0
    78  0793  1387               	bcf	7,7
    79                           ;lx.c: 50: for(k=0;k<=1;k++)
    80  0794  01A4               	clrf	_k
    81  0795  01A5               	clrf	_k+1
    82  0796  2FB2               	goto	l17
    83  0797                     l14
    84                           ;lx.c: 51: {data=s[k];
    85  0797  0824               	movf	_k,w
    86  0798  3E90               	addlw	_s^(0+256)
    87  0799  0084               	movwf	4
    88  079A  1783               	bsf	3,7
    89  079B  0800               	movf	0,w
    90  079C  00A0               	movwf	_data
    91  079D  01A1               	clrf	_data+1
    92                           ;lx.c: 52: data=table[data];
    93  079E  3000               	movlw	_table shr (0+8)
    94  079F  008A               	movwf	10
    95  07A0  0820               	movf	_data,w
    96  07A1  0720               	addwf	_data,w
    97  07A2  00F0               	movwf	btemp
    98  07A3  203F               	call	((_table+-1)& (0+2047))| (($)& (0+-2048))
    99  07A4  00A0               	movwf	_data
   100  07A5  0A70               	incf	btemp,w
   101  07A6  203F               	call	((_table+-1)& (0+2047))| (($)& (0+-2048))
   102  07A7  00A1               	movwf	_data+1
   103                           ;lx.c: 53: fasong(data);
   104  07A8  0820               	movf	_data,w
   105  07A9  00AA               	movwf	?_fasong
   106  07AA  0821               	movf	_data+1,w
   107  07AB  00AB               	movwf	?_fasong+1
   108  07AC  120A  118A  278B   	fcall	_fasong
   109                           ;lx.c: 54: }RC7=1;
   110  07AF  0AA4               	incf	_k
   111  07B0  1903               	btfsc	3,2
   112  07B1  0AA5               	incf	_k+1
   113  07B2                     l17
   114  07B2  3000               	movlw	0
   115  07B3  0225               	subwf	_k+1,w
   116  07B4  3002               	movlw	2
   117  07B5  1903               	btfsc	3,2
   118  07B6  0224               	subwf	_k,w
   119  07B7  1C03               	btfss	3,0
   120  07B8  2F97               	goto	l14
   121  07B9  1787               	bsf	7,7
   122                           ;lx.c: 55: }
   123  07BA  0008               	return
   124  07BB                     _tmr1int
   125  07BB  0183               	clrf	3	;select bank 0
   126  07BC  100C               	bcf	12,0
   127                           ;lx.c: 20: TMR1ON=0;
   128  07BD  1010               	bcf	16,0
   129                           ;lx.c: 21: T1CON=0x0F;
   130  07BE  300F               	movlw	15
   131  07BF  0090               	movwf	16	;volatile
   132                           ;lx.c: 22: TMR1H=0x80;
   133  07C0  3080               	movlw	-128
   134  07C1  008F               	movwf	15	;volatile
   135                           ;lx.c: 23: TMR1L=0x00;
   136  07C2  018E               	clrf	14	;volatile
   137                           ;lx.c: 24: TMR1ON=1;
   138  07C3  1410               	bsf	16,0
   139                           ;lx.c: 26: }
   140  07C4  0008               	return
   141                           ;lx.c: 35: void jisuan()
   142                           ;lx.c: 36: {tmr1int();
   143  07C5                     _jisuan
   144  07C5  27BB               	fcall	_tmr1int
   145  07C6                     l10
   146                           ;lx.c: 37: do{;}while(TMR1IF==0);
   147  07C6  1C0C               	btfss	12,0
   148  07C7  2FC6               	goto	l10
   149                           ;lx.c: 38: TMR1IF=0;
   150  07C8  100C               	bcf	12,0
   151                           ;lx.c: 39: s1=s1+1;
   152  07C9  0AA6               	incf	_s1
   153  07CA  1903               	btfsc	3,2
   154  07CB  0AA7               	incf	_s1+1
   155                           ;lx.c: 40: if(s1==10)
   156  07CC  0826               	movf	_s1,w
   157  07CD  3A0A               	xorlw	10
   158  07CE  0427               	iorwf	_s1+1,w
   159  07CF  1D03               	btfss	3,2
   160  07D0  2FDD               	goto	l11
   161                           ;lx.c: 41: {s1=0;
   162  07D1  01A6               	clrf	_s1
   163  07D2  01A7               	clrf	_s1+1
   164                           ;lx.c: 42: s2=s2+1;
   165  07D3  0AA8               	incf	_s2
   166  07D4  1903               	btfsc	3,2
   167  07D5  0AA9               	incf	_s2+1
   168                           ;lx.c: 43: if(s2==10)s2=0;
   169  07D6  0828               	movf	_s2,w
   170  07D7  3A0A               	xorlw	10
   171  07D8  0429               	iorwf	_s2+1,w
   172  07D9  1D03               	btfss	3,2
   173  07DA  2FDD               	goto	l11
   174  07DB  01A8               	clrf	_s2
   175  07DC  01A9               	clrf	_s2+1
   176                           ;lx.c: 44: }
   177  07DD                     l11
   178                           ;lx.c: 45: s[0]=s1;
   179  07DD  0826               	movf	_s1,w
   180  07DE  1683               	bsf	3,5
   181  07DF  1703               	bsf	3,6
   182  07E0  0090               	movwf	_s^(0+384)
   183                           ;lx.c: 46: s[1]=s2;
   184  07E1  1283               	bcf	3,5
   185  07E2  1303               	bcf	3,6	;carry unused
   186  07E3  0828               	movf	_s2,w
   187  07E4  1683               	bsf	3,5
   188  07E5  1703               	bsf	3,6
   189  07E6  0091               	movwf	(_s+1)^(0+384)
   190                           ;lx.c: 47: }
   191  07E7  0183               	clrf	3	;select bank 0
   192  07E8  0008               	return
   193  07E9                     _spiint
   194                           ;lx.c: 11: SSPCON=0X30;
   195  07E9  3030               	movlw	48
   196  07EA  0183               	clrf	3	;select bank 0
   197  07EB  0094               	movwf	20	;volatile
   198                           ;lx.c: 12: SSPSTAT=0XC0;
   199  07EC  30C0               	movlw	-64
   200  07ED  1683               	bsf	3,5
   201  07EE  0094               	movwf	20	;volatile
   202                           ;lx.c: 13: TRISC=0X03;
   203  07EF  3003               	movlw	3
   204  07F0  0087               	movwf	7	;volatile
   205                           ;lx.c: 15: ADCON1=0X0F;
   206  07F1  300F               	movlw	15
   207  07F2  009F               	movwf	31	;volatile
   208                           ;lx.c: 16: }
   209  07F3  1283               	bcf	3,5
   210  07F4  0008               	return
   211                           ;lx.c: 56: main()
   212                           ;lx.c: 57: { OPTION=0XFF;
   213  07F5                     _main
   214  07F5  30FF               	movlw	-1
   215  07F6  1683               	bsf	3,5
   216  07F7  1303               	bcf	3,6	;carry unused
   217  07F8  0081               	movwf	1
   218                           ;lx.c: 59: (GIE = 0);
   219  07F9  138B               	bcf	11,7
   220                           ;lx.c: 60: spiint();
   221  07FA  27E9               	fcall	_spiint
   222  07FB                     l20
   223                           ;lx.c: 61: while(1)
   224                           ;lx.c: 62: {jisuan();
   225  07FB  27C5               	fcall	_jisuan
   226                           ;lx.c: 64: display();
   227  07FC  2792               	fcall	_display
   228                           ;lx.c: 65: }
   229  07FD  2FFB               	goto	l20
   230                           
   231                           	psect	text6
   232  0000                     
   233  0000                     
   234  0000                     
   235  0000                     
   236  0000                     
   237  0000                     
   238  0000                     
   239  0000                     
   240  0000                     
   241  0000                     
   242  0000                     
   243  0000                     
   244  0000                     
   245  0000                     
   246  0000                     
   247  0000                     
   248  0000                     
   249  0000                     
   250  0000                     
   251  0000                     
   252  0000                     
   253  0000                     
   254  0000                     
   255  0000                     
   256  0000                     
   257  0000                     
   258  0000                     
   259  0000                     
   260  0000                     
   261  0000                     
   262  0000                     
   263  0000                     
   264  0000                     

⌨️ 快捷键说明

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