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

📄 test.lst

📁 用picc编写的93c46读写程序
💻 LST
📖 第 1 页 / 共 4 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL2
Serial number: HCPIC-88888                            Fri May 20 16:56:28 2005

Licensed to: FJGCXY
     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z88888RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	text4,local,class=CODE,delta=2
     6                           	psect	text5,local,class=CODE,delta=2
     7                           	psect	text7,local,class=CODE,delta=2
     8                           	psect	text9,local,class=CODE,delta=2
     9                           	psect	rdata_0,global,class=BANK0,space=1,delta
      +                          =1
    10                           	psect	idata_0,global,class=CODE,delta=2
    11                           	psect	strings,global,class=STRING,delta=2
    12                           	psect	rbit_0,global,bit,class=BANK0,space=1,de
      +                          lta=1
    13                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24                           
    25                           	psect	__Z88888RS_
    26  0190                     
    27  0190                     
    28                           
    29                           	psect	text0
    30  0716                     _DelayMs
    31                           ;	_cnt assigned to ?a_DelayMs+0
    32  0000                     _DelayMs$cnt	set	?a_DelayMs
    33                           ;	__dcnt assigned to ?a_DelayMs+1
    34  0000                     _DelayMs$_dcnt	set	?a_DelayMs+1
    35                           ;_cnt stored from w
    36  0716  0183               	clrf	3	;select bank 0
    37  0717  00A6               	movwf	?a_DelayMs
    38  0718                     l4
    39                           ;delay.h: 36: do {
    40                           ;delay.h: 37: { unsigned char _dcnt; _dcnt = (9
      +                          96)/((12*1000L)/(4*1000L))|1; while(--_dcnt != 
      +                          0) continue; };
    41  0718  304D               	movlw	77
    42  0719  00A7               	movwf	?a_DelayMs+1
    43  071A                     l6
    44  071A  0BA7               	decfsz	?a_DelayMs+1
    45  071B  2F1A               	goto	l6
    46                           ;delay.h: 38: } while(--cnt);
    47  071C  0BA6               	decfsz	?a_DelayMs
    48  071D  2F18               	goto	l4
    49  071E  0008               	return
    50                           ;delay.h: 52: void
    51                           ;delay.h: 53: DelayS(unsigned char cnt)
    52                           ;delay.h: 54: {
    53  071F                     _DelayS
    54                           ;	_cnt assigned to ?a_DelayS+0
    55  0000                     _DelayS$cnt	set	?a_DelayS
    56                           ;	_i assigned to ?a_DelayS+1
    57  0000                     _DelayS$i	set	?a_DelayS+1
    58                           ;_cnt stored from w
    59  071F  0183               	clrf	3	;select bank 0
    60  0720  00A1               	movwf	?a_DelayS
    61  0721                     l11
    62                           ;delay.h: 55: unsigned char i;
    63                           ;delay.h: 57: i = 4;
    64  0721  3004               	movlw	4
    65  0722  00A2               	movwf	?a_DelayS+1
    66  0723                     l14
    67                           ;delay.h: 58: do {
    68                           ;delay.h: 59: DelayMs(250);
    69  0723  30FA               	movlw	-6
    70  0724  2716               	fcall	_DelayMs
    71                           ;delay.h: 60: } while(--i);
    72  0725  0BA2               	decfsz	?a_DelayS+1
    73  0726  2F23               	goto	l14
    74                           ;delay.h: 61: } while(--cnt);
    75  0727  0BA1               	decfsz	?a_DelayS
    76  0728  2F21               	goto	l11
    77  0729  0008               	return
    78                           ;HD44780.h: 58: extern void SetCommand(unsigned
      +                           char);
    79                           ;HD44780.h: 59: extern void SetData(unsigned ch
      +                          ar);
    80                           ;HD44780.h: 60: extern void PutString(unsigned 
      +                          char x,unsigned char y,const char * s);
    81                           ;HD44780.h: 61: extern void LCD_Begin(unsigned 
      +                          char);
    82                           ;HD44780.h: 62: extern void SetChar(unsigned ch
      +                          ar n,const char *c);
    83                           ;HD44780.h: 66: static bit fourbit;
    84                           ;HD44780.h: 113: void
    85                           ;HD44780.h: 114: SetCommand(unsigned char c)
    86                           ;HD44780.h: 115: {
    87  072A                     _SetCommand
    88                           ;	_c assigned to ?a_SetCommand+0
    89  0000                     _SetCommand$c	set	?a_SetCommand
    90                           ;_c stored from w
    91  072A  0183               	clrf	3	;select bank 0
    92  072B  00A5               	movwf	?a_SetCommand
    93                           ;HD44780.h: 116: DelayMs(5);
    94  072C  3005               	movlw	5
    95  072D  2716               	fcall	_DelayMs
    96                           ;HD44780.h: 118: if (fourbit)
    97  072E  1C20               	btfss	_fourbit/(0+8),_fourbit& (0+7)
    98  072F  2F3F               	goto	l16
    99                           ;HD44780.h: 119: {
   100  0730  0E25               	swapf	?a_SetCommand,w
   101  0731  390F               	andlw	15
   102  0732  0088               	movwf	8	;volatile
   103                           ;HD44780.h: 121: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   104  0733  1485               	bsf	5,1
   105  0734  0000               	nop	;#
   106  0735  0000               	nop	;#
   107  0736  1085               	bcf	5,1
   108                           ;HD44780.h: 122: PORTD = ( c & 0x0F );
   109  0737  0825               	movf	?a_SetCommand,w
   110  0738  390F               	andlw	15
   111  0739  0088               	movwf	8	;volatile
   112                           ;HD44780.h: 123: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   113  073A  1485               	bsf	5,1
   114  073B  0000               	nop	;#
   115  073C  0000               	nop	;#
   116  073D  1085               	bcf	5,1
   117                           ;HD44780.h: 124: }
   118  073E  0008               	return
   119  073F                     l16
   120                           ;HD44780.h: 126: {
   121  073F  0825               	movf	?a_SetCommand,w
   122  0740  0088               	movwf	8	;volatile
   123                           ;HD44780.h: 128: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   124  0741  1485               	bsf	5,1
   125  0742  0000               	nop	;#
   126  0743  0000               	nop	;#
   127  0744  1085               	bcf	5,1
   128                           ;HD44780.h: 129: }
   129                           ;HD44780.h: 130: }
   130  0745  0008               	return
   131                           ;HD44780.h: 132: void
   132                           ;HD44780.h: 133: SetData(unsigned char c)
   133                           ;HD44780.h: 134: {
   134  0746                     _SetData
   135                           ;	_c assigned to ?a_SetData+0
   136  0000                     _SetData$c	set	?a_SetData
   137                           ;_c stored from w
   138  0746  0183               	clrf	3	;select bank 0
   139  0747  00A2               	movwf	?a_SetData
   140                           ;HD44780.h: 135: DelayMs(5);
   141  0748  3005               	movlw	5
   142  0749  2716               	fcall	_DelayMs
   143                           ;HD44780.h: 137: PORTD = 0;
   144  074A  0188               	clrf	8	;volatile
   145                           ;HD44780.h: 138: RA3 = 1;
   146  074B  1585               	bsf	5,3
   147                           ;HD44780.h: 139: if (fourbit)
   148  074C  1C20               	btfss	_fourbit/(0+8),_fourbit& (0+7)
   149  074D  2F5B               	goto	l19
   150                           ;HD44780.h: 140: {
   151  074E  0E22               	swapf	?a_SetData,w
   152  074F  390F               	andlw	15
   153  0750  0488               	iorwf	8	;volatile
   154                           ;HD44780.h: 142: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   155  0751  1485               	bsf	5,1
   156  0752  0000               	nop	;#
   157  0753  0000               	nop	;#
   158  0754  1085               	bcf	5,1
   159                           ;HD44780.h: 143: PORTD &= 0xF0;
   160  0755  30F0               	movlw	-16
   161  0756  0588               	andwf	8	;volatile
   162                           ;HD44780.h: 144: PORTD |= ( c & 0x0F );
   163  0757  0822               	movf	?a_SetData,w
   164  0758  390F               	andlw	15
   165  0759  0488               	iorwf	8	;volatile
   166  075A  2F5D               	goto	L1
   167                           ;HD44780.h: 145: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   168                           ;HD44780.h: 146: }
   169  075B                     l19
   170                           ;HD44780.h: 148: {
   171  075B  0822               	movf	?a_SetData,w
   172  075C  0088               	movwf	8	;volatile
   173  075D                     L1
   174                           ;HD44780.h: 150: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   175  075D  1485               	bsf	5,1
   176  075E  0000               	nop	;#
   177  075F  0000               	nop	;#
   178  0760  1085               	bcf	5,1
   179                           ;HD44780.h: 151: }
   180                           ;HD44780.h: 152: RA3 = 0;
   181  0761  1185               	bcf	5,3
   182                           ;HD44780.h: 153: }
   183  0762  0008               	return
   184                           ;HD44780.h: 176: void
   185                           ;HD44780.h: 177: LCD_Begin(unsigned char mode)
   186                           ;HD44780.h: 178: {
   187  0763                     _LCD_Begin
   188                           ;	_mode assigned to ?a_LCD_Begin+0
   189  0000                     _LCD_Begin$mode	set	?a_LCD_Begin
   190                           ;	_init_value assigned to ?a_LCD_Begin+1
   191  0000                     _LCD_Begin$init_value	set	?a_LCD_Begin+1
   192                           ;	__dcnt assigned to ?a_LCD_Begin+2
   193  0000                     _LCD_Begin$_dcnt	set	?a_LCD_Begin+2
   194                           ;_mode stored from w
   195  0763  0183               	clrf	3	;select bank 0
   196  0764  00A2               	movwf	?a_LCD_Begin
   197                           ;HD44780.h: 179: char init_value;
   198  0765  1020               	bcf	_fourbit/(0+8),_fourbit& (0+7)
   199                           ;HD44780.h: 182: if (mode == 0){
   200  0766  08A2               	movf	?a_LCD_Begin
   201  0767  1D03               	btfss	3,2
   202  0768  2F6C               	goto	l30
   203                           ;HD44780.h: 183: fourbit = 1;
   204  0769  1420               	bsf	_fourbit/(0+8),_fourbit& (0+7)
   205                           ;HD44780.h: 184: init_value = 0x3;
   206  076A  3003               	movlw	3
   207  076B  2F6D               	goto	L2
   208                           ;HD44780.h: 185: }else{
   209  076C                     l30
   210                           ;HD44780.h: 186: init_value = 0x3F;
   211  076C  303F               	movlw	63
   212  076D                     L2
   213  076D  00A3               	movwf	?a_LCD_Begin+1
   214                           ;HD44780.h: 187: }
   215                           ;HD44780.h: 188: RA3 = 0;
   216  076E  1185               	bcf	5,3
   217                           ;HD44780.h: 189: RA1 = 0;
   218  076F  1085               	bcf	5,1
   219                           ;HD44780.h: 190: RA2 = 0;
   220  0770  1105               	bcf	5,2
   221                           ;HD44780.h: 191: TRISA3 = 0;
   222  0771  1683               	bsf	3,5
   223  0772  1185               	bcf	5,3
   224                           ;HD44780.h: 192: TRISA1 = 0;
   225  0773  1085               	bcf	5,1
   226                           ;HD44780.h: 193: TRISA2 = 0;
   227  0774  1105               	bcf	5,2
   228                           ;HD44780.h: 194: TRISD = 0xf0;
   229  0775  30F0               	movlw	-16
   230  0776  0088               	movwf	8	;volatile
   231                           ;HD44780.h: 195: DelayMs(15);
   232  0777  300F               	movlw	15
   233  0778  2716               	fcall	_DelayMs
   234                           ;HD44780.h: 196: PORTD = init_value;
   235  0779  0823               	movf	?a_LCD_Begin+1,w
   236  077A  0088               	movwf	8	;volatile
   237                           ;HD44780.h: 197: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   238  077B  1485               	bsf	5,1
   239  077C  0000               	nop	;#
   240  077D  0000               	nop	;#
   241  077E  1085               	bcf	5,1
   242                           ;HD44780.h: 198: DelayMs(5);
   243  077F  3005               	movlw	5
   244  0780  2716               	fcall	_DelayMs
   245                           ;HD44780.h: 199: PORTD = init_value;
   246  0781  0823               	movf	?a_LCD_Begin+1,w
   247  0782  0088               	movwf	8	;volatile
   248                           ;HD44780.h: 200: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   249  0783  1485               	bsf	5,1
   250  0784  0000               	nop	;#
   251  0785  0000               	nop	;#
   252  0786  1085               	bcf	5,1
   253                           ;HD44780.h: 201: { unsigned char _dcnt; _dcnt =
      +                           (200)/((12*1000L)/(4*1000L))|1; while(--_dcnt 
      +                          != 0) continue; };
   254  0787  3043               	movlw	67
   255  0788  00A4               	movwf	?a_LCD_Begin+2
   256  0789                     l33
   257  0789  0BA4               	decfsz	?a_LCD_Begin+2
   258  078A  2F89               	goto	l33
   259                           ;HD44780.h: 202: PORTD = init_value;
   260  078B  0823               	movf	?a_LCD_Begin+1,w
   261  078C  0088               	movwf	8	;volatile
   262                           ;HD44780.h: 203: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   263  078D  1485               	bsf	5,1
   264  078E  0000               	nop	;#
   265  078F  0000               	nop	;#
   266  0790  1085               	bcf	5,1
   267                           ;HD44780.h: 205: if (fourbit){
   268  0791  1C20               	btfss	_fourbit/(0+8),_fourbit& (0+7)
   269  0792  2F9D               	goto	l35
   270                           ;HD44780.h: 206: DelayMs(5);
   271  0793  3005               	movlw	5
   272  0794  2716               	fcall	_DelayMs
   273                           ;HD44780.h: 207: PORTD = 0x2;
   274  0795  3002               	movlw	2
   275  0796  0088               	movwf	8	;volatile
   276                           ;HD44780.h: 208: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   277  0797  1485               	bsf	5,1
   278  0798  0000               	nop	;#
   279  0799  0000               	nop	;#
   280  079A  1085               	bcf	5,1

⌨️ 快捷键说明

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