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

📄 main.lst

📁 医疗设备中激光手术台程序源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
                                                      Mon Jan 23 11:53:00 2006


     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z49231UD_,global,delta=1
     4                           	psect	config,global,class=CONFIG,delta=2
     5                           	psect	idloc,global,class=IDLOC,delta=2
     6                           	psect	text4,local,class=CODE,delta=2
     7                           	psect	text5,local,class=CODE,delta=2
     8                           	psect	text6,local,class=CODE,delta=2
     9                           	psect	text10,local,class=CODE,delta=2
    10                           	psect	intcode,global,class=CODE,delta=2
    11                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
    12                           	psect	intret,global,class=CODE,delta=2
    13                           	psect	intentry,global,class=CODE,delta=2
    14                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    15                           	psect	nvbit_0,global,bit,class=BANK0,space=1,d
      +                          elta=1
    16                           	psect	nvram,global,class=BANK0,space=1,delta=1
    17                           	psect	nvram_1,global,class=BANK1,space=1,delta
      +                          =1
    18                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26  0000                     
    27  0000                     
    28  0000                     	;#
    29                           
    30                           	psect	config
    31  2007  3F3A               	dw	16186	;#
    32                           
    33                           	psect	idloc
    34  2000                     idloc_word
    35                           ;#
    36  2000                     	endm	0
    37  2000  0000               	dw	0	;#
    38  2001  0000               	dw	0	;#
    39  2002  0000               	dw	0	;#
    40  2003  0007               	dw	7	;#
    41  2004  0000               	dw	0	;#
    42  2005  0002               	dw	2	;#
    43                           
    44                           	psect	text4
    45                           ;main.c: 121: void self_check(void)
    46                           ;main.c: 122: {
    47  0580                     _self_check
    48                           ;main.c: 123: if(PORTB&0x3f!=0x3b)
    49  0580  0183               	clrf	3	;select bank 0
    50  0581  1C06               	btfss	6,0	;volatile
    51  0582  2D86               	goto	l25
    52                           ;main.c: 124: err_code = 0x25;
    53  0583  3025               	movlw	37
    54  0584  1683               	bsf	3,5
    55  0585  00A0               	movwf	_err_code^(0+128)	;volatile
    56                           ;main.c: 126: }
    57  0586                     l25
    58  0586  1283               	bcf	3,5
    59  0587  0008               	return
    60  0588                     _delay_ms
    61                           ;	_j assigned to ?a_delay_ms+0
    62  0000                     _delay_ms$j	set	?a_delay_ms
    63  0588                     l21
    64                           ;main.c: 109: unsigned char j;
    65                           ;main.c: 111: {
    66  0588  30FA               	movlw	-6
    67  0589  0183               	clrf	3	;select bank 0
    68  058A  00A2               	movwf	?a_delay_ms
    69  058B                     l24
    70                           ;main.c: 113: do
    71                           ;main.c: 114: {
    72  058B  0000               	nop	;#
    73  058C  0000               	nop	;#
    74  058D  0000               	nop	;#
    75  058E  0000               	nop	;#
    76                           ;main.c: 116: } while(--j);
    77  058F  0BA2               	decfsz	?a_delay_ms
    78  0590  2D8B               	goto	l24
    79                           ;main.c: 117: asm("clrwdt");
    80  0591  0064               	clrwdt	;#
    81                           ;main.c: 118: } while(--i);
    82  0592  30FF               	movlw	-1
    83  0593  07A0               	addwf	?_delay_ms
    84  0594  1C03               	btfss	3,0
    85  0595  03A1               	decf	?_delay_ms+1
    86  0596  0821               	movf	?_delay_ms+1,w
    87  0597  0420               	iorwf	?_delay_ms,w
    88  0598  1903               	btfsc	3,2
    89  0599  0008               	return
    90  059A  2D88               	goto	l21
    91                           ;main.c: 138: void user_mode(void)
    92                           ;main.c: 139: {
    93  059B                     _user_mode
    94                           ;main.c: 141: if(RB0)
    95  059B  0183               	clrf	3	;select bank 0
    96  059C  1C06               	btfss	6,0
    97  059D  2DA1               	goto	l30
    98                           ;main.c: 142: err_code = 9;
    99  059E  3009               	movlw	9
   100  059F  1683               	bsf	3,5
   101  05A0  00A0               	movwf	_err_code^(0+128)	;volatile
   102  05A1                     l30
   103                           ;main.c: 143: if(RB1)
   104  05A1  1283               	bcf	3,5
   105  05A2  1C86               	btfss	6,1
   106  05A3  2DA7               	goto	l31
   107                           ;main.c: 144: err_code = 0x11;
   108  05A4  3011               	movlw	17
   109  05A5  1683               	bsf	3,5
   110  05A6  00A0               	movwf	_err_code^(0+128)	;volatile
   111  05A7                     l31
   112                           ;main.c: 145: if(RB2)
   113  05A7  1283               	bcf	3,5
   114  05A8  1D06               	btfss	6,2
   115  05A9  2DAD               	goto	l32
   116                           ;main.c: 146: err_code = 5;
   117  05AA  3005               	movlw	5
   118  05AB  1683               	bsf	3,5
   119  05AC  00A0               	movwf	_err_code^(0+128)	;volatile
   120  05AD                     l32
   121                           ;main.c: 147: if(RB3)
   122  05AD  1283               	bcf	3,5
   123  05AE  1D86               	btfss	6,3
   124  05AF  2DB3               	goto	l33
   125                           ;main.c: 148: err_code = 4;
   126  05B0  3004               	movlw	4
   127  05B1  1683               	bsf	3,5
   128  05B2  00A0               	movwf	_err_code^(0+128)	;volatile
   129  05B3                     l33
   130                           ;main.c: 149: if(RB4)
   131  05B3  1283               	bcf	3,5
   132  05B4  1E06               	btfss	6,4
   133  05B5  2DB9               	goto	l34
   134                           ;main.c: 150: err_code = 0x18;
   135  05B6  3018               	movlw	24
   136  05B7  1683               	bsf	3,5
   137  05B8  00A0               	movwf	_err_code^(0+128)	;volatile
   138  05B9                     l34
   139                           ;main.c: 153: RD1 = 0;
   140  05B9  1283               	bcf	3,5
   141  05BA  1088               	bcf	8,1
   142                           ;main.c: 154: delay_ms(10000);
   143  05BB  3010               	movlw	16
   144  05BC  00A0               	movwf	?_delay_ms
   145  05BD  3027               	movlw	39
   146  05BE  00A1               	movwf	?_delay_ms+1
   147  05BF  2588               	fcall	_delay_ms
   148                           ;main.c: 155: if( PORTB&0x1f != 0x1b)
   149  05C0  1C06               	btfss	6,0	;volatile
   150  05C1  2DC5               	goto	l35
   151                           ;main.c: 156: err_code = 0x24;
   152  05C2  3024               	movlw	36
   153  05C3  1683               	bsf	3,5
   154  05C4  00A0               	movwf	_err_code^(0+128)	;volatile
   155  05C5                     l35
   156                           ;main.c: 157: self_check();
   157  05C5  2D80               	ljmp	_self_check
   158                           ;main.c: 163: void cmd_deal(void)
   159                           ;main.c: 164: {
   160  05C6                     _cmd_deal
   161                           ;	_buf1 assigned to ?a_cmd_deal+0
   162  0000                     _cmd_deal$buf1	set	?a_cmd_deal
   163                           ;	_long_buf assigned to ?a_cmd_deal+2
   164  0000                     _cmd_deal$long_buf	set	?a_cmd_deal+2
   165                           ;main.c: 165: unsigned int buf1;
   166  05C6  0183               	clrf	3	;select bank 0
   167  05C7  1DB0               	btfss	_b_rec_ok/(0+8),_b_rec_ok& (0+7)
   168  05C8  2EBF               	goto	l36
   169                           ;main.c: 168: {
   170  05C9  11B0               	bcf	_b_rec_ok/(0+8),_b_rec_ok& (0+7)
   171                           ;main.c: 170: switch(rec_data[1])
   172  05CA  2EAC               	goto	l39
   173  05CB                     l40
   174                           ;main.c: 171: {
   175                           ;main.c: 173: ADC.ADCS=rec_data[2];
   176  05CB  0827               	movf	(_rec_data+2)^(0+128),w	;volatile
   177  05CC  00F0               	movwf	btemp
   178  05CD  0DF0               	rlf	btemp
   179  05CE  0DF0               	rlf	btemp
   180  05CF  0DF0               	rlf	btemp
   181  05D0  1283               	bcf	3,5
   182  05D1  081F               	movf	31,w
   183  05D2  0670               	xorwf	btemp,w
   184  05D3  39C7               	andlw	-57
   185  05D4  0670               	xorwf	btemp,w
   186  05D5  009F               	movwf	31
   187                           ;main.c: 174: break;
   188  05D6  2EBF               	goto	l36
   189  05D7                     l41
   190                           ;main.c: 175: case 2:
   191                           ;main.c: 176: b_pwm_auto_add=1;
   192  05D7  1283               	bcf	3,5
   193  05D8  1530               	bsf	_b_pwm_auto_add/(0+8),_b_pwm_auto_add& (0+
      +                          7)
   194                           ;main.c: 177: break;
   195  05D9  2EBF               	goto	l36
   196  05DA                     l42
   197                           ;main.c: 178: case 3:
   198                           ;main.c: 179: b_pwm_auto_add = 0;
   199  05DA  1283               	bcf	3,5
   200  05DB  1130               	bcf	_b_pwm_auto_add/(0+8),_b_pwm_auto_add& (0+
      +                          7)
   201                           ;main.c: 180: break;
   202  05DC  2EBF               	goto	l36
   203  05DD                     l43
   204                           ;main.c: 181: case 4:
   205                           ;main.c: 182: pwm_data = rec_data[2]*256+rec_da
      +                          ta[3];
   206  05DD  0827               	movf	(_rec_data+2)^(0+128),w	;volatile
   207  05DE  00A4               	movwf	(_pwm_data+1)^(0+128)	;volatile
   208  05DF  0828               	movf	(_rec_data+3)^(0+128),w	;volatile
   209  05E0  00A3               	movwf	_pwm_data^(0+128)	;volatile
   210                           ;main.c: 183: break;
   211  05E1  2EBF               	goto	l36
   212                           ;main.c: 184: case 5:
   213                           ;main.c: 185: switch(rec_data[2])
   214  05E2                     l47
   215                           ;main.c: 186: {
   216                           ;main.c: 188: CCP2CON=0;
   217  05E2  1283               	bcf	3,5
   218  05E3  019D               	clrf	29	;volatile
   219                           ;main.c: 189: RC1=1;
   220  05E4  1487               	bsf	7,1
   221                           ;main.c: 191: break;
   222  05E5  2EA4               	goto	l65
   223  05E6                     l48
   224                           ;main.c: 192: case 1:
   225                           ;main.c: 193: CCP2CON=0;
   226  05E6  1283               	bcf	3,5
   227  05E7  019D               	clrf	29	;volatile
   228                           ;main.c: 194: RC1=0;
   229  05E8  1087               	bcf	7,1
   230                           ;main.c: 195: break;
   231                           ;main.c: 196: case 2:
   232                           ;main.c: 197: break;
   233  05E9  2EA4               	goto	l65
   234                           ;main.c: 198: case 3:
   235                           ;main.c: 199: switch(rec_data[3])
   236  05EA                     l53
   237                           ;main.c: 200: {
   238                           ;main.c: 202: buf1=rec_data[4]*128;
   239  05EA  0829               	movf	(_rec_data+4)^(0+128),w	;volatile
   240  05EB  00F0               	movwf	btemp
   241  05EC  01F1               	clrf	btemp+1
   242  05ED  3007               	movlw	7
   243  05EE  00F2               	movwf	btemp+2
   244  05EF                     u135
   245  05EF  1003               	bcf	3,0
   246  05F0  0DF0               	rlf	btemp
   247  05F1  0DF1               	rlf	btemp+1

⌨️ 快捷键说明

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