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

📄 main2.lst

📁 pic16f886读取LM75A温度芯片的程序
💻 LST
📖 第 1 页 / 共 5 页
字号:


HI-TECH Software PICC Macro Assembler V9.50PL2
                                                      Thu May 22 18:01:42 2008


     1                           	processor	16F886
     2                           	opt	pw 79
     3                           	psect	text5,local,class=CODE,delta=2
     4                           	psect	text19,local,class=CODE,delta=2
     5                           	psect	intcode,global,class=CODE,delta=2
     6                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
     7                           	psect	intret,global,class=CODE,delta=2
     8                           	psect	intentry,global,class=CODE,delta=2
     9                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    10                           	psect	text22,local,class=CODE,delta=2
    11                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    12                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23                           
    24                           	psect	text5
    25  02EA                     _write_m
    26                           ;	_num assigned to ?a_write_m+0
    27  0000                     _write_m$num	set	?a_write_m
    28                           ;	_t1 assigned to ?a_write_m+1
    29  0000                     _write_m$t1	set	?a_write_m+1
    30                           ;	_t2 assigned to ?a_write_m+2
    31  0000                     _write_m$t2	set	?a_write_m+2
    32                           ;_num stored from w
    33  02EA  0183               	clrf	3	;select bank 0
    34  02EB  00A6               	movwf	?a_write_m
    35                           ;main2.c: 81: void write_m(unsigned char num,un
      +                          signed char location)
    36  02EC  300A               	movlw	10
    37  02ED  00F1               	movwf	btemp+1
    38  02EE  0826               	movf	?a_write_m,w
    39  02EF  120A  118A  2782   	fcall	lbdiv
    40  02F2  00A7               	movwf	?a_write_m+1
    41                           ;main2.c: 86: t2=num%10;
    42  02F3  300A               	movlw	10
    43  02F4  00F1               	movwf	btemp+1
    44  02F5  0826               	movf	?a_write_m,w
    45  02F6  120A  118A  2782   	fcall	lbmod
      +       120A  118A         
    46  02FB  0870               	movf	btemp,w
    47  02FC  00A8               	movwf	?a_write_m+2
    48                           ;main2.c: 87: write_com(location);
    49  02FD  0825               	movf	?_write_m,w
    50  02FE  25B9  120A  118A   	fcall	_write_com
    51                           ;main2.c: 88: write_dat(0x4d);
    52  0301  304D               	movlw	77
    53  0302  25C6  120A  118A   	fcall	_write_dat
    54                           ;main2.c: 89: write_dat(0x3a);
    55  0305  303A               	movlw	58
    56  0306  25C6  120A  118A   	fcall	_write_dat
    57                           ;main2.c: 90: write_dat(t1+0x30);
    58  0309  0827               	movf	?a_write_m+1,w
    59  030A  3E30               	addlw	48
    60  030B  25C6  120A  118A   	fcall	_write_dat
    61                           ;main2.c: 91: write_dat(t2+0x30);
    62  030E  0828               	movf	?a_write_m+2,w
    63  030F  3E30               	addlw	48
    64  0310  25C6  120A  118A   	fcall	_write_dat
    65                           ;main2.c: 92: write_dat(0x25);
    66  0313  3025               	movlw	37
    67  0314  25C6  120A  118A   	fcall	_write_dat
    68                           ;main2.c: 93: write_dat(0x52);
    69  0317  3052               	movlw	82
    70  0318  25C6  120A  118A   	fcall	_write_dat
    71                           ;main2.c: 94: write_dat(0x48);
    72  031B  3048               	movlw	72
    73  031C  2DC6               	ljmp	_write_dat
    74  031D                     _disp_temp
    75                           ;	_location assigned to ?a_disp_temp+0
    76  0000                     _disp_temp$location	set	?a_disp_temp
    77                           ;	_g assigned to ?a_disp_temp+1
    78  0000                     _disp_temp$g	set	?a_disp_temp+1
    79                           ;	_x1 assigned to ?a_disp_temp+2
    80  0000                     _disp_temp$x1	set	?a_disp_temp+2
    81                           ;	_s assigned to ?a_disp_temp+3
    82  0000                     _disp_temp$s	set	?a_disp_temp+3
    83                           ;	_b assigned to ?a_disp_temp+4
    84  0000                     _disp_temp$b	set	?a_disp_temp+4
    85                           ;	_xx assigned to ?a_disp_temp+5
    86  0000                     _disp_temp$xx	set	?a_disp_temp+5
    87                           ;	_wd assigned to ?a_disp_temp+7
    88  0000                     _disp_temp$wd	set	?a_disp_temp+7
    89                           ;_location stored from w
    90  031D  0183               	clrf	3	;select bank 0
    91  031E  00A6               	movwf	?a_disp_temp
    92                           ;main2.c: 469: void disp_temp(unsigned char loc
      +                          ation,unsigned char add)
    93  031F  01AD               	clrf	?a_disp_temp+7
    94  0320  01AE               	clrf	?a_disp_temp+8
    95                           ;main2.c: 475: wd|=tab[0];
    96  0321  0823               	movf	_tab,w
    97  0322  04AD               	iorwf	?a_disp_temp+7
    98                           ;main2.c: 476: wd=wd<<8;
    99  0323  082D               	movf	?a_disp_temp+7,w
   100  0324  00AE               	movwf	?a_disp_temp+8
   101  0325  01AD               	clrf	?a_disp_temp+7
   102                           ;main2.c: 477: wd|=tab[1];
   103  0326  0824               	movf	_tab+1,w
   104  0327  04AD               	iorwf	?a_disp_temp+7
   105                           ;main2.c: 478: write_com(location);
   106  0328  0826               	movf	?a_disp_temp,w
   107  0329  25B9  120A  118A   	fcall	_write_com
   108                           ;main2.c: 479: if(add==0x02)
   109  032C  0825               	movf	?_disp_temp,w
   110  032D  3A02               	xorlw	2
   111  032E  1D03               	btfss	3,2
   112  032F  2B32               	goto	l78
   113                           ;main2.c: 480: {
   114  0330  3062               	movlw	98
   115  0331  2B3C               	goto	L2
   116                           ;main2.c: 482: }
   117  0332                     l78
   118                           ;main2.c: 483: else if(add==0x04)
   119  0332  0825               	movf	?_disp_temp,w
   120  0333  3A04               	xorlw	4
   121  0334  1D03               	btfss	3,2
   122  0335  2B38               	goto	l80
   123                           ;main2.c: 484: {
   124  0336  3063               	movlw	99
   125  0337  2B3C               	goto	L2
   126                           ;main2.c: 486: }
   127  0338                     l80
   128                           ;main2.c: 487: else if(add==0x00)
   129  0338  08A5               	movf	?_disp_temp
   130  0339  1D03               	btfss	3,2
   131  033A  2B3F               	goto	l79
   132                           ;main2.c: 488: {
   133  033B  3061               	movlw	97
   134  033C                     L2
   135  033C  25C6  120A  118A   	fcall	_write_dat
   136  033F                     l79
   137                           ;main2.c: 490: }
   138  033F  303A               	movlw	58
   139  0340  25C6  120A  118A   	fcall	_write_dat
   140                           ;main2.c: 492: if(wd&0x8000)
   141  0343  1FAE               	btfss	?a_disp_temp+8,7
   142  0344  2B4C               	goto	l83
   143                           ;main2.c: 493: {
   144  0345  302D               	movlw	45
   145  0346  25C6  120A  118A   	fcall	_write_dat
   146                           ;main2.c: 495: wd=~wd;
   147  0349  09AD               	comf	?a_disp_temp+7
   148  034A  09AE               	comf	?a_disp_temp+8
   149                           ;main2.c: 496: }
   150  034B  2B50               	goto	l84
   151  034C                     l83
   152                           ;main2.c: 497: else
   153  034C  302B               	movlw	43
   154  034D  25C6  120A  118A   	fcall	_write_dat
   155  0350                     l84
   156                           ;main2.c: 500: }
   157  0350  1003               	bcf	3,0
   158  0351  0DAD               	rlf	?a_disp_temp+7
   159  0352  0DAE               	rlf	?a_disp_temp+8
   160                           ;main2.c: 502: wd=wd>>6;
   161  0353  3006               	movlw	6
   162  0354  00F0               	movwf	btemp
   163  0355                     u315
   164  0355  1003               	bcf	3,0
   165  0356  0CAE               	rrf	?a_disp_temp+8
   166  0357  0CAD               	rrf	?a_disp_temp+7
   167  0358  0BF0               	decfsz	btemp
   168  0359  2B55               	goto	u315
   169                           ;main2.c: 503: xx=(unsigned int)((wd*10)/8);
   170  035A  300A               	movlw	10
   171  035B  00F2               	movwf	btemp+2
   172  035C  01F3               	clrf	btemp+3
   173  035D  082E               	movf	?a_disp_temp+8,w
   174  035E  00F1               	movwf	btemp+1
   175  035F  082D               	movf	?a_disp_temp+7,w
   176  0360  00F0               	movwf	btemp
   177  0361  120A  118A  22D5   	fcall	lwmul
   178  0364  1003               	bcf	3,0
   179  0365  0CF5               	rrf	btemp+5
   180  0366  0CF4               	rrf	btemp+4
   181  0367  1003               	bcf	3,0
   182  0368  0CF5               	rrf	btemp+5
   183  0369  0CF4               	rrf	btemp+4
   184  036A  1003               	bcf	3,0
   185  036B  0CF5               	rrf	btemp+5
   186  036C  0CF4               	rrf	btemp+4
   187  036D  0874               	movf	btemp+4,w
   188  036E  00AB               	movwf	?a_disp_temp+5
   189  036F  0875               	movf	btemp+5,w
   190  0370  00AC               	movwf	?a_disp_temp+6
   191                           ;main2.c: 504: b=(unsigned char)(xx/1000);
   192  0371  30E8               	movlw	232
   193  0372  00F2               	movwf	btemp+2
   194  0373  3003               	movlw	3
   195  0374  00F3               	movwf	btemp+3
   196  0375  082C               	movf	?a_disp_temp+6,w
   197  0376  00F1               	movwf	btemp+1
   198  0377  082B               	movf	?a_disp_temp+5,w
   199  0378  00F0               	movwf	btemp
   200  0379  120A  118A  27B8   	fcall	lwdiv
   201  037C  0874               	movf	btemp+4,w
   202  037D  00AA               	movwf	?a_disp_temp+4
   203                           ;main2.c: 505: s=(unsigned char)((xx-b*1000)/10
      +                          0);
   204  037E  30E8               	movlw	232
   205  037F  00F2               	movwf	btemp+2
   206  0380  3003               	movlw	3
   207  0381  00F3               	movwf	btemp+3
   208  0382  082A               	movf	?a_disp_temp+4,w
   209  0383  00F0               	movwf	btemp
   210  0384  01F1               	clrf	btemp+1
   211  0385  120A  118A  22D5   	fcall	lwmul
   212  0388  082C               	movf	?a_disp_temp+6,w
   213  0389  00F1               	movwf	btemp+1
   214  038A  082B               	movf	?a_disp_temp+5,w
   215  038B  00F0               	movwf	btemp
   216  038C  0874               	movf	btemp+4,w
   217  038D  02F0               	subwf	btemp
   218  038E  1C03               	btfss	3,0
   219  038F  03F1               	decf	btemp+1
   220  0390  0875               	movf	btemp+5,w
   221  0391  02F1               	subwf	btemp+1
   222  0392  3064               	movlw	100
   223  0393  00F2               	movwf	btemp+2
   224  0394  3000               	movlw	0
   225  0395  01F3               	clrf	btemp+3
   226  0396  120A  118A  27B8   	fcall	lwdiv
   227  0399  0874               	movf	btemp+4,w
   228  039A  00A9               	movwf	?a_disp_temp+3
   229                           ;main2.c: 506: g=(unsigned char)((xx-b*1000-s*1
      +                          00)/10);
   230  039B  3064               	movlw	100
   231  039C  00F2               	movwf	btemp+2
   232  039D  01F3               	clrf	btemp+3
   233  039E  0829               	movf	?a_disp_temp+3,w
   234  039F  00F0               	movwf	btemp
   235  03A0  01F1               	clrf	btemp+1
   236  03A1  120A  118A  22D5   	fcall	lwmul
   237  03A4  0874               	movf	btemp+4,w
   238  03A5  00AF               	movwf	?a_disp_temp+9
   239  03A6  0875               	movf	btemp+5,w

⌨️ 快捷键说明

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