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

📄 main.lst

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


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

Licensed to: ONE
     1                           	processor	16F877
     2                           	opt	pw 79
     3                           	psect	__Z16605RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	config,global,class=CONFIG,delta=2
     6                           	psect	text1,local,class=CODE,delta=2
     7                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
     8  0000                     
     9  0000                     
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18                           
    19                           	psect	__Z16605RS_
    20  0190                     
    21  0190                     	;#
    22                           
    23                           	psect	text0
    24  0691                     _main
    25                           ;	_pNum assigned to ?a_main+0
    26  0000                     _main$pNum	set	?a_main
    27                           ;	_k assigned to ?a_main+1
    28  0000                     _main$k	set	?a_main+1
    29                           ;	_i assigned to ?a_main+3
    30  0000                     _main$i	set	?a_main+3
    31                           ;	_DstNum assigned to ?a_main+5
    32  0000                     _main$DstNum	set	?a_main+5
    33                           ;	_ScrNum assigned to ?a_main+7
    34  0000                     _main$ScrNum	set	?a_main+7
    35                           ;MAIN.C: 20: int i=0,k=9,ScrNum=0,DstNum=0,*pNu
      +                          m;
    36  0691  1283               	bcf	3,5
    37  0692  1303               	bcf	3,6	;carry unused
    38  0693  01A3               	clrf	?a_main+3
    39  0694  01A4               	clrf	?a_main+4
    40  0695  3009               	movlw	9
    41  0696  00A1               	movwf	?a_main+1
    42  0697  01A2               	clrf	?a_main+2
    43  0698  01A7               	clrf	?a_main+7
    44  0699  01A8               	clrf	?a_main+8
    45  069A  01A5               	clrf	?a_main+5
    46  069B  01A6               	clrf	?a_main+6
    47                           ;MAIN.C: 21: delay(700);
    48  069C  30BC               	movlw	188
    49  069D  00B2               	movwf	?_delay
    50  069E  3002               	movlw	2
    51  069F  00B3               	movwf	?_delay+1
    52  06A0  120A  118A  261F   	fcall	_delay
    53                           ;MAIN.C: 22: TRISD=0x00;
    54  06A3  1683               	bsf	3,5
    55  06A4  0188               	clrf	8	;volatile
    56                           ;MAIN.C: 23: PORTD=0x00;
    57  06A5  1283               	bcf	3,5
    58  06A6  0188               	clrf	8	;volatile
    59                           ;MAIN.C: 24: TRISB=0xF0;
    60  06A7  30F0               	movlw	-16
    61  06A8  1683               	bsf	3,5
    62  06A9  0086               	movwf	6	;volatile
    63                           ;MAIN.C: 25: PORTB=0x0;
    64  06AA  1283               	bcf	3,5
    65  06AB  0186               	clrf	6	;volatile
    66                           ;MAIN.C: 26: pNum=&ScrNum;
    67  06AC  3027               	movlw	?a_main+7
    68  06AD  00A0               	movwf	?a_main
    69  06AE                     l3
    70                           ;MAIN.C: 27: while(1)
    71                           ;MAIN.C: 28: {
    72  06AE  120A  118A  2649   	fcall	_scankeypad
      +       120A  118A         
    73  06B3  00A3               	movwf	?a_main+3
    74  06B4  01A4               	clrf	?a_main+4
    75  06B5  0824               	movf	?a_main+4,w
    76                           ;MAIN.C: 31: if(i>=0 && i<=9)
    77  06B6  1BA4               	btfsc	?a_main+4,7
    78  06B7  2EF9               	goto	L2
    79  06B8  3A80               	xorlw	128
    80  06B9  00F0               	movwf	btemp
    81  06BA  3080               	movlw	128
    82  06BB  0270               	subwf	btemp,w
    83  06BC  300A               	movlw	10
    84                           ;set	bank bits (((?a_main+3)))
    85  06BD  1903               	btfsc	3,2
    86  06BE  0223               	subwf	?a_main+3,w
    87  06BF  1803               	btfsc	3,0
    88  06C0  2EF8               	goto	l8
    89                           ;MAIN.C: 32: {
    90  06C1  300A               	movlw	10
    91  06C2  00F2               	movwf	btemp+2
    92  06C3  01F3               	clrf	btemp+3
    93  06C4  0820               	movf	?a_main,w
    94  06C5  0084               	movwf	4
    95  06C6  1383               	bcf	3,7
    96  06C7  0800               	movf	0,w
    97  06C8  00F0               	movwf	btemp
    98  06C9  0A84               	incf	4
    99  06CA  0800               	movf	0,w
   100  06CB  00F1               	movwf	btemp+1
   101  06CC  120A  118A  260A   	fcall	awmul
      +       120A  118A         
   102  06D1  0823               	movf	?a_main+3,w
   103  06D2  07F4               	addwf	btemp+4
   104  06D3  1803               	btfsc	3,0
   105  06D4  0AF5               	incf	btemp+5
   106  06D5  0824               	movf	?a_main+4,w
   107  06D6  07F5               	addwf	btemp+5
   108  06D7  0820               	movf	?a_main,w
   109  06D8  0084               	movwf	4
   110  06D9  1383               	bcf	3,7
   111  06DA  0874               	movf	btemp+4,w
   112  06DB  0080               	movwf	0
   113  06DC  0A84               	incf	4
   114  06DD  0875               	movf	btemp+5,w
   115  06DE  0080               	movwf	0
   116                           ;MAIN.C: 34: }
   117  06DF  2F0C               	goto	l6
   118                           ;MAIN.C: 36: {
   119  06E0                     l9
   120                           ;MAIN.C: 38: {
   121  06E0  3025               	movlw	?a_main+5
   122  06E1  2EF6               	goto	L1
   123  06E2                     l10
   124                           ;MAIN.C: 40: case '=' : pNum=&ScrNum;
   125  06E2  3027               	movlw	?a_main+7
   126  06E3  00A0               	movwf	?a_main
   127                           ;MAIN.C: 41: *pNum+=DstNum;
   128  06E4  0084               	movwf	4
   129  06E5  1383               	bcf	3,7
   130  06E6  0825               	movf	?a_main+5,w
   131  06E7  0780               	addwf	0
   132  06E8  0A84               	incf	4
   133  06E9  1803               	btfsc	3,0
   134  06EA  0A80               	incf	0
   135  06EB  0826               	movf	?a_main+6,w
   136  06EC  0780               	addwf	0
   137  06ED  0384               	decf	4
   138                           ;MAIN.C: 42: DstNum=0;
   139  06EE  01A5               	clrf	?a_main+5
   140  06EF  01A6               	clrf	?a_main+6
   141                           ;MAIN.C: 43: break;
   142  06F0  2F0C               	goto	l6
   143  06F1                     l11
   144                           ;MAIN.C: 44: case 'C' : ScrNum=0; DstNum=0;
   145  06F1  01A7               	clrf	?a_main+7
   146  06F2  01A8               	clrf	?a_main+8
   147  06F3  01A5               	clrf	?a_main+5
   148  06F4  01A6               	clrf	?a_main+6
   149                           ;MAIN.C: 45: pNum=&ScrNum;
   150  06F5  3027               	movlw	?a_main+7
   151  06F6                     L1
   152  06F6  00A0               	movwf	?a_main
   153                           ;MAIN.C: 46: break;
   154                           ;MAIN.C: 47: case 0xFF : break;
   155                           ;MAIN.C: 48: default : break;
   156  06F7  2F0C               	goto	l6
   157  06F8                     l8
   158  06F8  0824               	movf	?a_main+4,w
   159  06F9                     L2
   160  06F9  00F3               	movwf	btemp+3
   161  06FA  0823               	movf	?a_main+3,w
   162  06FB  00F2               	movwf	btemp+2
   163  06FC  2F09               	goto	l30003
   164  06FD                     l30004
   165  06FD  0872               	movf	btemp+2,w
   166  06FE  3A2B               	xorlw	43
   167  06FF  1903               	btfsc	3,2
   168  0700  2EE0               	goto	l9
   169  0701  3A16               	xorlw	22
   170  0702  1903               	btfsc	3,2
   171  0703  2EE2               	goto	l10
   172  0704  3A7E               	xorlw	126
   173  0705  1903               	btfsc	3,2
   174  0706  2EF1               	goto	l11
   175  0707  3ABC               	xorlw	188
   176  0708  2F0C               	goto	l6
   177  0709                     l30003
   178  0709  0873               	movf	btemp+3,w
   179  070A  1903               	btfsc	3,2
   180  070B  2EFD               	goto	l30004
   181  070C                     l6
   182                           ;MAIN.C: 50: }
   183                           ;MAIN.C: 51: Show4b(*pNum);
   184  070C  0820               	movf	?a_main,w
   185  070D  0084               	movwf	4
   186  070E  1383               	bcf	3,7
   187  070F  0800               	movf	0,w
   188  0710  00A9               	movwf	?_Show4b
   189  0711  0A84               	incf	4
   190  0712  0800               	movf	0,w
   191  0713  00AA               	movwf	?_Show4b+1
   192  0714  120A  118A  2773   	fcall	_Show4b
      +       120A  118A         
   193                           ;MAIN.C: 52: }
   194  0719  2EAE               	goto	l3
   195                           
   196                           	psect	config
   197  2007  3F79               	dw	16249	;#
   198                           
   199                           	psect	text1
   200  0000                     
   201  0000                     
   202  0000                     
   203  0000                     
   204  0000                     
   205  0000                     
   206  0000                     
   207  0000                     
   208  0000                     
   209  0000                     
   210  0000                     
   211  0000                     
   212  0000                     
   213  0000                     
   214  0000                     
   215  0000                     
   216  0000                     
   217  0000                     
   218  0000                     
   219  0000                     
   220  0000                     
   221  0000                     
   222  0000                     
   223  0000                     
   224  0000                     
   225  0000                     
   226  0000                     
   227  0000                     
   228  0000                     
   229  0000                     
   230  0000                     
   231  0000                     

⌨️ 快捷键说明

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