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

📄 zlg7289_16.lst

📁 MPLAB模块编程实例
💻 LST
📖 第 1 页 / 共 4 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
                                                      Thu Jul 10 09:37:21 2008


     1                           	processor	16F877
     2                           	opt	pw 79
     3                           	psect	__Z49231UD_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	text8,local,class=CODE,delta=2
     6                           	psect	text10,local,class=CODE,delta=2
     7                           	psect	text11,local,class=CODE,delta=2
     8                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
     9  0000                     
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19                           
    20                           	psect	__Z49231UD_
    21  0000                     _delay$t	set	?_delay
    22                           
    23                           	psect	text0
    24  06C5                     _delay
    25                           ;ZLG7289_16.c: 16: while(t--);
    26  06C5                     l2
    27  06C5  0183               	clrf	3	;select bank 0
    28  06C6  083F               	movf	?_delay,w
    29  06C7  1903               	btfsc	3,2
    30  06C8  03C0               	decf	?_delay+1
    31  06C9  03BF               	decf	?_delay
    32  06CA  0A3F               	incf	?_delay,w
    33  06CB  1903               	btfsc	3,2
    34  06CC  0A40               	incf	?_delay+1,w
    35  06CD  1903               	btfsc	3,2
    36  06CE  0008               	return
    37  06CF  2EC5               	goto	l2
    38                           ;ZLG7289_16.c: 23: void ZLG7289_Write(unsigned 
      +                          char dat)
    39                           ;ZLG7289_16.c: 24: {
    40  06D0                     _ZLG7289_Write
    41                           ;	_dat assigned to ?a_ZLG7289_Write+0
    42  0000                     _ZLG7289_Write$dat	set	?a_ZLG7289_Write
    43                           ;	_i assigned to ?a_ZLG7289_Write+1
    44  0000                     _ZLG7289_Write$i	set	?a_ZLG7289_Write+1
    45                           ;_dat stored from w
    46  06D0  0183               	clrf	3	;select bank 0
    47  06D1  00BD               	movwf	?a_ZLG7289_Write
    48                           ;ZLG7289_16.c: 25: unsigned char i;
    49  06D2  1683               	bsf	3,5
    50  06D3  1108               	bcf	8,2
    51                           ;ZLG7289_16.c: 27: delay(4);
    52  06D4  3004               	movlw	4
    53  06D5  1283               	bcf	3,5
    54  06D6  00BF               	movwf	?_delay
    55  06D7  01C0               	clrf	?_delay+1
    56  06D8  26C5               	fcall	_delay
    57                           ;ZLG7289_16.c: 28: for(i=0;i<8;i++)
    58  06D9  01BE               	clrf	?a_ZLG7289_Write+1
    59  06DA                     l6
    60                           ;ZLG7289_16.c: 29: {
    61                           ;ZLG7289_16.c: 30: RD1=0;
    62  06DA  1088               	bcf	8,1
    63                           ;ZLG7289_16.c: 31: if((dat&0x80) != 0)
    64  06DB  1FBD               	btfss	?a_ZLG7289_Write,7
    65  06DC  2EDF               	goto	l9
    66                           ;ZLG7289_16.c: 32: {RD2=1;
    67  06DD  1508               	bsf	8,2
    68                           ;ZLG7289_16.c: 33: }
    69  06DE  2EE0               	goto	l10
    70  06DF                     l9
    71                           ;ZLG7289_16.c: 35: {RD2=0;
    72  06DF  1108               	bcf	8,2
    73  06E0                     l10
    74                           ;ZLG7289_16.c: 36: }
    75                           ;ZLG7289_16.c: 37: dat<<=1;
    76  06E0  1003               	bcf	3,0
    77  06E1  0DBD               	rlf	?a_ZLG7289_Write
    78                           ;ZLG7289_16.c: 38: RD1=1;
    79  06E2  1488               	bsf	8,1
    80                           ;ZLG7289_16.c: 39: delay(2);
    81  06E3  3002               	movlw	2
    82  06E4  00BF               	movwf	?_delay
    83  06E5  01C0               	clrf	?_delay+1
    84  06E6  26C5               	fcall	_delay
    85                           ;ZLG7289_16.c: 40: RD1=0;
    86  06E7  1088               	bcf	8,1
    87                           ;ZLG7289_16.c: 41: delay(2);
    88  06E8  3002               	movlw	2
    89  06E9  00BF               	movwf	?_delay
    90  06EA  01C0               	clrf	?_delay+1
    91  06EB  26C5               	fcall	_delay
    92                           ;ZLG7289_16.c: 42: }
    93  06EC  0ABE               	incf	?a_ZLG7289_Write+1
    94  06ED  3008               	movlw	8
    95  06EE  023E               	subwf	?a_ZLG7289_Write+1,w
    96  06EF  1803               	btfsc	3,0
    97  06F0  0008               	return
    98  06F1  2EDA               	goto	l6
    99                           ;ZLG7289_16.c: 49: void ZLG7289_cmd(char cmd)
   100                           ;ZLG7289_16.c: 50: {
   101  06F2                     _ZLG7289_cmd
   102                           ;	_cmd assigned to ?a_ZLG7289_cmd+0
   103  0000                     _ZLG7289_cmd$cmd	set	?a_ZLG7289_cmd
   104                           ;_cmd stored from w
   105  06F2  0183               	clrf	3	;select bank 0
   106  06F3  00B2               	movwf	?a_ZLG7289_cmd
   107                           ;ZLG7289_16.c: 51: RD0=1;
   108  06F4  1408               	bsf	8,0
   109                           ;ZLG7289_16.c: 52: delay(2);
   110  06F5  3002               	movlw	2
   111  06F6  00BF               	movwf	?_delay
   112  06F7  01C0               	clrf	?_delay+1
   113  06F8  26C5               	fcall	_delay
   114                           ;ZLG7289_16.c: 53: RD0=0;
   115  06F9  1008               	bcf	8,0
   116                           ;ZLG7289_16.c: 54: delay(5);
   117  06FA  3005               	movlw	5
   118  06FB  00BF               	movwf	?_delay
   119  06FC  01C0               	clrf	?_delay+1
   120  06FD  26C5               	fcall	_delay
   121                           ;ZLG7289_16.c: 55: ZLG7289_Write(cmd);
   122  06FE  0832               	movf	?a_ZLG7289_cmd,w
   123  06FF  26D0               	fcall	_ZLG7289_Write
   124                           ;ZLG7289_16.c: 56: RD0=1;
   125  0700  1408               	bsf	8,0
   126                           ;ZLG7289_16.c: 57: delay(1000);
   127  0701  30E8               	movlw	232
   128  0702  00BF               	movwf	?_delay
   129  0703  3003               	movlw	3
   130  0704  00C0               	movwf	?_delay+1
   131  0705  2EC5               	ljmp	l2
   132  0706                     _ZLG7289_cmd_dat
   133                           ;	_cmd assigned to ?a_ZLG7289_cmd_dat+0
   134  0000                     _ZLG7289_cmd_dat$cmd	set	?a_ZLG7289_cmd_dat
   135                           ;_cmd stored from w
   136  0706  0183               	clrf	3	;select bank 0
   137  0707  00BC               	movwf	?a_ZLG7289_cmd_dat
   138                           ;ZLG7289_16.c: 67: RD0=1;
   139  0708  1408               	bsf	8,0
   140                           ;ZLG7289_16.c: 68: delay(2);
   141  0709  3002               	movlw	2
   142  070A  00BF               	movwf	?_delay
   143  070B  01C0               	clrf	?_delay+1
   144  070C  26C5               	fcall	_delay
   145                           ;ZLG7289_16.c: 69: RD0=0;
   146  070D  1008               	bcf	8,0
   147                           ;ZLG7289_16.c: 70: ZLG7289_Write(cmd);
   148  070E  083C               	movf	?a_ZLG7289_cmd_dat,w
   149  070F  26D0               	fcall	_ZLG7289_Write
   150                           ;ZLG7289_16.c: 71: delay(3);
   151  0710  3003               	movlw	3
   152  0711  00BF               	movwf	?_delay
   153  0712  01C0               	clrf	?_delay+1
   154  0713  26C5               	fcall	_delay
   155                           ;ZLG7289_16.c: 72: ZLG7289_Write(dat);
   156  0714  083B               	movf	?_ZLG7289_cmd_dat,w
   157  0715  26D0               	fcall	_ZLG7289_Write
   158                           ;ZLG7289_16.c: 73: RD0=1;
   159  0716  1408               	bsf	8,0
   160                           ;ZLG7289_16.c: 74: delay(1000);
   161  0717  30E8               	movlw	232
   162  0718  00BF               	movwf	?_delay
   163  0719  3003               	movlw	3
   164  071A  00C0               	movwf	?_delay+1
   165  071B  2EC5               	ljmp	l2
   166                           ;ZLG7289_16.c: 123: unsigned char ZLG7289_read_
      +                          key(void)
   167                           ;ZLG7289_16.c: 124: {
   168  071C                     _ZLG7289_read_key
   169                           ;	_c assigned to ?a_ZLG7289_read_key+0
   170  0000                     _ZLG7289_read_key$c	set	?a_ZLG7289_read_key
   171                           ;	_i assigned to ?a_ZLG7289_read_key+1
   172  0000                     _ZLG7289_read_key$i	set	?a_ZLG7289_read_key+1
   173                           ;	_dat assigned to ?a_ZLG7289_read_key+2
   174  0000                     _ZLG7289_read_key$dat	set	?a_ZLG7289_read_key+2
   175                           ;ZLG7289_16.c: 125: unsigned char dat;
   176  071C  1683               	bsf	3,5
   177  071D  1303               	bcf	3,6	;carry unused
   178  071E  1508               	bsf	8,2
   179                           ;ZLG7289_16.c: 129: delay(2);
   180  071F  3002               	movlw	2
   181  0720  1283               	bcf	3,5
   182  0721  00BF               	movwf	?_delay
   183  0722  01C0               	clrf	?_delay+1
   184  0723  26C5               	fcall	_delay
   185                           ;ZLG7289_16.c: 130: for(i=0;i<8;i++)
   186  0724  01B4               	clrf	?a_ZLG7289_read_key+1
   187  0725                     l30
   188                           ;ZLG7289_16.c: 131: {
   189                           ;ZLG7289_16.c: 132: RD1=1;
   190  0725  1488               	bsf	8,1
   191                           ;ZLG7289_16.c: 133: delay(2);
   192  0726  3002               	movlw	2
   193  0727  00BF               	movwf	?_delay
   194  0728  01C0               	clrf	?_delay+1
   195  0729  26C5               	fcall	_delay
   196                           ;ZLG7289_16.c: 134: dat<<=1;
   197  072A  1003               	bcf	3,0
   198  072B  0DB5               	rlf	?a_ZLG7289_read_key+2
   199                           ;ZLG7289_16.c: 135: if(RD2 == 1)
   200  072C  1D08               	btfss	8,2
   201  072D  2F30               	goto	l33
   202                           ;ZLG7289_16.c: 136: {
   203  072E  0AB5               	incf	?a_ZLG7289_read_key+2
   204                           ;ZLG7289_16.c: 138: c++;
   205  072F  0AB3               	incf	?a_ZLG7289_read_key
   206  0730                     l33
   207                           ;ZLG7289_16.c: 139: }
   208  0730  1088               	bcf	8,1
   209                           ;ZLG7289_16.c: 141: delay(2);
   210  0731  3002               	movlw	2
   211  0732  00BF               	movwf	?_delay
   212  0733  01C0               	clrf	?_delay+1
   213  0734  26C5               	fcall	_delay
   214                           ;ZLG7289_16.c: 143: }
   215  0735  0AB4               	incf	?a_ZLG7289_read_key+1
   216  0736  3008               	movlw	8
   217  0737  0234               	subwf	?a_ZLG7289_read_key+1,w
   218  0738  1C03               	btfss	3,0
   219  0739  2F25               	goto	l30
   220                           ;ZLG7289_16.c: 144: return dat;
   221  073A  0835               	movf	?a_ZLG7289_read_key+2,w
   222                           ;ZLG7289_16.c: 145: }
   223  073B  0008               	return
   224                           ;ZLG7289_16.c: 153: unsigned char ZLG7289_key(v
      +                          oid)
   225                           ;ZLG7289_16.c: 154: {
   226  073C                     _ZLG7289_key
   227                           ;	_data assigned to ?a_ZLG7289_key+0
   228  0000                     _ZLG7289_key$data	set	?a_ZLG7289_key
   229                           ;ZLG7289_16.c: 155: unsigned char data;
   230  073C  0183               	clrf	3	;select bank 0
   231  073D  1408               	bsf	8,0
   232                           ;ZLG7289_16.c: 157: delay(1);
   233  073E  01BF               	clrf	?_delay
   234  073F  0ABF               	incf	?_delay
   235  0740  01C0               	clrf	?_delay+1
   236  0741  26C5               	fcall	_delay
   237                           ;ZLG7289_16.c: 158: RD0=0;
   238  0742  1008               	bcf	8,0
   239                           ;ZLG7289_16.c: 159: delay(5);
   240  0743  3005               	movlw	5
   241  0744  00BF               	movwf	?_delay
   242  0745  01C0               	clrf	?_delay+1
   243  0746  26C5               	fcall	_delay
   244                           ;ZLG7289_16.c: 160: ZLG7289_Write(0x15);
   245  0747  3015               	movlw	21
   246  0748  26D0               	fcall	_ZLG7289_Write
   247                           ;ZLG7289_16.c: 161: delay(2);
   248  0749  3002               	movlw	2
   249  074A  00BF               	movwf	?_delay
   250  074B  01C0               	clrf	?_delay+1
   251  074C  26C5               	fcall	_delay
   252                           ;ZLG7289_16.c: 162: data=ZLG7289_read_key();
   253  074D  271C               	fcall	_ZLG7289_read_key
   254  074E  00B2               	movwf	?a_ZLG7289_key
   255                           ;ZLG7289_16.c: 163: delay(1);
   256  074F  01BF               	clrf	?_delay
   257  0750  0ABF               	incf	?_delay
   258  0751  01C0               	clrf	?_delay+1

⌨️ 快捷键说明

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