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

📄 seg74.lst

📁 采用模块化格式编写的基于PIC单片机的简单计算器
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-16605                            Wed May  6 22:02:26 2009

Licensed to: ONE
     1                           	processor	16F877
     2                           	opt	pw 79
     3                           	psect	__Z16605RS_,global,delta=1
     4                           	psect	strings,global,class=STRING,delta=2
     5                           	psect	const1,local,class=CONST,delta=2
     6                           	psect	const2,local,class=CONST,delta=2
     7                           	psect	text0,local,class=CODE,delta=2
     8                           	psect	text2,local,class=CODE,delta=2
     9                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20                           
    21                           	psect	__Z16605RS_
    22  0190                     
    23  0190                     
    24                           
    25                           	psect	const1
    26  0034  0782               	addwf	2
    27  0035                     _Seg7Table
    28  0035  343F               	retlw	63
    29  0036  3406               	retlw	6
    30  0037  345B               	retlw	91
    31  0038  344F               	retlw	79
    32  0039  3466               	retlw	102
    33  003A  346D               	retlw	109
    34  003B  347D               	retlw	125
    35  003C  3407               	retlw	7
    36  003D  347F               	retlw	127
    37  003E  346F               	retlw	111
    38                           
    39                           	psect	const2
    40  0029  0782               	addwf	2
    41  002A                     _Seg7TableN
    42  002A  34C0               	retlw	-64
    43  002B  34F9               	retlw	-7
    44  002C  34A4               	retlw	-92
    45  002D  34B0               	retlw	-80
    46  002E  3499               	retlw	-103
    47  002F  3492               	retlw	-110
    48  0030  3482               	retlw	-126
    49  0031  34F8               	retlw	-8
    50  0032  3480               	retlw	-128
    51  0033  3490               	retlw	-112
    52  0000                     _SplitNum$iNum	set	?_SplitNum
    53  0000                     _SplitNum$strNum	set	?_SplitNum+2
    54                           
    55                           	psect	text0
    56  071A                     _SplitNum
    57                           ;seg74.c: 12: strNum[0]=(iNum%10000)/1000;
    58  071A  0183               	clrf	3	;select bank 0
    59  071B  0834               	movf	?_SplitNum+2,w
    60  071C  0084               	movwf	4
    61  071D  1383               	bcf	3,7
    62  071E  3010               	movlw	16
    63  071F  00F2               	movwf	btemp+2
    64  0720  3027               	movlw	39
    65  0721  00F3               	movwf	btemp+3
    66  0722  0833               	movf	?_SplitNum+1,w
    67  0723  00F1               	movwf	btemp+1
    68  0724  0832               	movf	?_SplitNum,w
    69  0725  00F0               	movwf	btemp
    70  0726  120A  118A  27B1   	fcall	awmod
    71  0729  30E8               	movlw	232
    72  072A  00F2               	movwf	btemp+2
    73  072B  3003               	movlw	3
    74  072C  00F3               	movwf	btemp+3
    75  072D  120A  118A  27B1   	fcall	awdiv
    76  0730  0874               	movf	btemp+4,w
    77  0731  0080               	movwf	0
    78                           ;seg74.c: 13: strNum[1]=(iNum%1000)/100;
    79  0732  0A34               	incf	?_SplitNum+2,w
    80  0733  0084               	movwf	4
    81  0734  1383               	bcf	3,7
    82  0735  30E8               	movlw	232
    83  0736  00F2               	movwf	btemp+2
    84  0737  3003               	movlw	3
    85  0738  00F3               	movwf	btemp+3
    86  0739  0833               	movf	?_SplitNum+1,w
    87  073A  00F1               	movwf	btemp+1
    88  073B  0832               	movf	?_SplitNum,w
    89  073C  00F0               	movwf	btemp
    90  073D  120A  118A  27B1   	fcall	awmod
    91  0740  3064               	movlw	100
    92  0741  00F2               	movwf	btemp+2
    93  0742  3000               	movlw	0
    94  0743  01F3               	clrf	btemp+3
    95  0744  120A  118A  27B1   	fcall	awdiv
    96  0747  0874               	movf	btemp+4,w
    97  0748  0080               	movwf	0
    98                           ;seg74.c: 14: strNum[2]=(iNum%100)/10;
    99  0749  0834               	movf	?_SplitNum+2,w
   100  074A  3E02               	addlw	2
   101  074B  0084               	movwf	4
   102  074C  1383               	bcf	3,7
   103  074D  3064               	movlw	100
   104  074E  00F2               	movwf	btemp+2
   105  074F  01F3               	clrf	btemp+3
   106  0750  0833               	movf	?_SplitNum+1,w
   107  0751  00F1               	movwf	btemp+1
   108  0752  0832               	movf	?_SplitNum,w
   109  0753  00F0               	movwf	btemp
   110  0754  120A  118A  27B1   	fcall	awmod
   111  0757  300A               	movlw	10
   112  0758  00F2               	movwf	btemp+2
   113  0759  3000               	movlw	0
   114  075A  01F3               	clrf	btemp+3
   115  075B  120A  118A  27B1   	fcall	awdiv
   116  075E  0874               	movf	btemp+4,w
   117  075F  0080               	movwf	0
   118                           ;seg74.c: 15: strNum[3]=(iNum%10);
   119  0760  0834               	movf	?_SplitNum+2,w
   120  0761  3E03               	addlw	3
   121  0762  0084               	movwf	4
   122  0763  1383               	bcf	3,7
   123  0764  300A               	movlw	10
   124  0765  00F2               	movwf	btemp+2
   125  0766  01F3               	clrf	btemp+3
   126  0767  0833               	movf	?_SplitNum+1,w
   127  0768  00F1               	movwf	btemp+1
   128  0769  0832               	movf	?_SplitNum,w
   129  076A  00F0               	movwf	btemp
   130  076B  120A  118A  27B1   	fcall	awmod
      +       120A  118A         
   131  0770  0870               	movf	btemp,w
   132  0771  0080               	movwf	0
   133                           ;seg74.c: 16: }
   134  0772  0008               	return
   135  0773                     _Show4b
   136                           ;	_i assigned to ?a_Show4b+0
   137  0000                     _Show4b$i	set	?a_Show4b
   138                           ;	_k assigned to ?a_Show4b+1
   139  0000                     _Show4b$k	set	?a_Show4b+1
   140                           ;	_j assigned to ?a_Show4b+2
   141  0000                     _Show4b$j	set	?a_Show4b+2
   142                           ;	_NumStr assigned to ?a_Show4b+3
   143  0000                     _Show4b$NumStr	set	?a_Show4b+3
   144                           ;seg74.c: 20: char i=0,j=0,k=0,NumStr[4]={1,2,3
      +                          ,4};
   145  0773  0183               	clrf	3	;select bank 0
   146  0774  01AB               	clrf	?a_Show4b
   147  0775  01AD               	clrf	?a_Show4b+2
   148  0776  01AC               	clrf	?a_Show4b+1
   149  0777  01AE               	clrf	?a_Show4b+3
   150  0778  0AAE               	incf	?a_Show4b+3
   151  0779  3002               	movlw	2
   152  077A  00AF               	movwf	?a_Show4b+4
   153  077B  3003               	movlw	3
   154  077C  00B0               	movwf	?a_Show4b+5
   155  077D  3004               	movlw	4
   156  077E  00B1               	movwf	?a_Show4b+6
   157                           ;seg74.c: 21: if(iNum==0)
   158  077F  082A               	movf	?_Show4b+1,w
   159  0780  0429               	iorwf	?_Show4b,w
   160  0781  1D03               	btfss	3,2
   161  0782  2F85               	goto	l3
   162                           ;seg74.c: 22: {
   163  0783  0186               	clrf	6	;volatile
   164                           ;seg74.c: 24: return;
   165  0784  0008               	return
   166  0785                     l3
   167                           ;seg74.c: 25: }
   168  0785  0829               	movf	?_Show4b,w
   169  0786  00B2               	movwf	?_SplitNum
   170  0787  082A               	movf	?_Show4b+1,w
   171  0788  00B3               	movwf	?_SplitNum+1
   172  0789  302E               	movlw	?a_Show4b+3
   173  078A  00B4               	movwf	?_SplitNum+2
   174  078B  271A               	fcall	_SplitNum
   175                           ;seg74.c: 27: for(i=0;i<10;i++)
   176  078C  01AB               	clrf	?a_Show4b
   177  078D                     l4
   178                           ;seg74.c: 28: {
   179                           ;seg74.c: 29: k=PORTB=0x01;
   180  078D  3001               	movlw	1
   181  078E  0086               	movwf	6	;volatile
   182  078F  00AC               	movwf	?a_Show4b+1
   183                           ;seg74.c: 30: for(j=0;j<4;j++)
   184  0790  01AD               	clrf	?a_Show4b+2
   185  0791                     l7
   186                           ;seg74.c: 31: {
   187                           ;seg74.c: 32: PORTB=k;
   188  0791  082C               	movf	?a_Show4b+1,w
   189  0792  0086               	movwf	6	;volatile
   190                           ;seg74.c: 33: PORTD=Seg7TableN[NumStr[j]];
   191  0793  3000               	movlw	_Seg7TableN shr (0+8)
   192  0794  008A               	movwf	10
   193  0795  082D               	movf	?a_Show4b+2,w
   194  0796  3E2E               	addlw	?a_Show4b+3
   195  0797  0084               	movwf	4
   196  0798  1383               	bcf	3,7
   197  0799  0800               	movf	0,w
   198  079A  2029               	call	((_Seg7TableN+-1)& (0+2047))| (($)& (0+-2
      +                          048))
   199  079B  0088               	movwf	8	;volatile
   200                           ;seg74.c: 34: delay(10);
   201  079C  300A               	movlw	10
   202  079D  00B2               	movwf	?_delay
   203  079E  01B3               	clrf	?_delay+1
   204  079F  120A  118A  261F   	fcall	_delay
      +       120A  118A         
   205                           ;seg74.c: 35: k=k<<1;
   206  07A4  1003               	bcf	3,0
   207  07A5  0DAC               	rlf	?a_Show4b+1
   208                           ;seg74.c: 36: }
   209  07A6  0AAD               	incf	?a_Show4b+2
   210  07A7  3004               	movlw	4
   211  07A8  022D               	subwf	?a_Show4b+2,w
   212  07A9  1C03               	btfss	3,0
   213  07AA  2F91               	goto	l7
   214                           ;seg74.c: 37: }
   215  07AB  0AAB               	incf	?a_Show4b
   216  07AC  300A               	movlw	10
   217  07AD  022B               	subwf	?a_Show4b,w
   218  07AE  1803               	btfsc	3,0
   219  07AF  0008               	return
   220  07B0  2F8D               	goto	l4
   221                           
   222                           	psect	text2
   223  0000                     
   224  0000                     
   225  0000                     
   226  0000                     
   227  0000                     
   228  0000                     
   229  0000                     
   230  0000                     
   231  0000                     
   232  0000                     
   233  0000                     
   234  0000                     
   235  0000                     
   236  0000                     
   237  0000                     
   238  0000                     
   239  0000                     
   240  0000                     
   241  0000                     
   242  0000                     
   243  0000                     

⌨️ 快捷键说明

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