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

📄 main.lst

📁 PS2 读取键盘数具,非常好的一个软件PCB
💻 LST
📖 第 1 页 / 共 5 页
字号:


HI-TECH Software PICC Macro Assembler V9.60
                                                      Tue Aug 26 16:51:30 2008


     1                           	processor	16F87
     2                           	opt	pw 79
     3                           	psect	text0,local,class=CODE,delta=2
     4                           	psect	config,global,class=CONFIG,delta=2
     5                           	psect	eeprom_data,global,class=EEDATA,space=2,
      +                          delta=2
     6                           	psect	intcode,global,class=CODE,delta=2
     7                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
     8                           	psect	intret,global,class=CODE,delta=2
     9                           	psect	intentry,global,class=CODE,delta=2
    10                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    11                           	psect	text4,local,class=CODE,delta=2
    12                           	psect	text10,local,class=CODE,delta=2
    13                           	psect	rbit_0,global,bit,class=BANK0,space=1,de
      +                          lta=1
    14                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    15                           	psect	rbss_1,global,class=BANK1,space=1,delta=
      +                          1
    16                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26  0000                     	;#
    27                           
    28                           	psect	config
    29  2007  3F01               	dw	16129	;#
    30                           
    31                           	psect	eeprom_data
    32  0000  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    33  0008  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    34  0010  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    35  0018  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    36  0020  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    37  0028  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    38  0030  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    39  0038  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    40  0040  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    41  0048  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    42  0050  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    43  0058  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    44  0060  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    45  0068  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    46  0070  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    47  0078  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    48  0080  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    49  0088  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    50  0090  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    51  0098  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    52  00A0  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    53  00A8  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    54  00B0  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    55  00B8  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    56  00C0  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    57  00C8  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    58  00D0  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    59  00D8  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    60  00E0  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    61  00E8  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    62  00F0  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    63  00F8  0000 0000 0000     	db	0,0,0,0,0,0,0,0	;#
      +       0000 0000 0000     
      +       0000 0000          
    64                           
    65                           	psect	intcode
    66  0015                     _isr
    67  0015                     int_func
    68                           ;	_keyval assigned to ?a_isr+0
    69  0000                     _isr$keyval	set	?a_isr
    70                           ;main.c: 8: void interrupt isr(void)
    71  0015  1A0B               	btfsc	11,4
    72  0016  1C8B               	btfss	11,1
    73  0017  282D               	goto	l6
    74                           ;main.c: 14: {
    75  0018  118A  251F  118A   	fcall	_ReadPs2
    76  001B  00B8               	movwf	?a_isr
    77                           ;main.c: 16: if(keyval != 0)
    78  001C  08B8               	movf	?a_isr
    79  001D  1903               	btfsc	3,2
    80  001E  2828               	goto	l8
    81                           ;main.c: 17: {
    82  001F  0822               	movf	_keyinpt,w	;volatile
    83  0020  3EA0               	addlw	_keybuff
    84  0021  0084               	movwf	4
    85  0022  1383               	bcf	3,7
    86  0023  0838               	movf	?a_isr,w
    87  0024  0080               	movwf	0
    88                           ;main.c: 19: keyinpt++;
    89  0025  0AA2               	incf	_keyinpt	;volatile
    90                           ;main.c: 20: keyinpt&= 0x3f;
    91  0026  303F               	movlw	63
    92  0027  05A2               	andwf	_keyinpt	;volatile
    93                           ;main.c: 21: }
    94  0028                     l8
    95  0028  1806               	btfsc	6,0
    96  0029  1C86               	btfss	6,1
    97  002A  2828               	goto	l8
    98                           ;main.c: 23: asm("movf _PORTA,w");
    99  002B  0805               	movf	5,w	;#
   100                           ;main.c: 24: INT0IF = 0;
   101  002C  108B               	bcf	11,1
   102  002D                     l6
   103                           ;main.c: 25: }
   104  002D  1A8B               	btfsc	11,5
   105  002E  1D0B               	btfss	11,2
   106  002F  28B5               	goto	l5
   107                           ;main.c: 28: {
   108  0030  110B               	bcf	11,2
   109  0031  3087               	movlw	-121
   110  0032  1283               	bcf	3,5
   111  0033  1303               	bcf	3,6	;carry unused
   112  0034  0081               	movwf	1	;volatile
   113                           ;main.c: 31: id_1ms=1;
   114  0035  15A0               	bsf	_id_1ms/(0+8),_id_1ms& (0+7)
   115                           ;main.c: 33: TRISB3=0;TRISA0=0;TRISA1=1;
   116  0036  1683               	bsf	3,5
   117  0037  1186               	bcf	6,3
   118  0038  1005               	bcf	5,0
   119  0039  1485               	bsf	5,1
   120                           ;main.c: 34: RA0=1;
   121  003A  1283               	bcf	3,5
   122  003B  1405               	bsf	5,0
   123                           ;main.c: 35: led_keyboradmouse_count++;
   124  003C  0AA7               	incf	_led_keyboradmouse_count	;volatile
   125  003D  1903               	btfsc	3,2
   126  003E  0AA8               	incf	_led_keyboradmouse_count+1	;volatile
   127                           ;main.c: 37: if(RA1)
   128  003F  1C85               	btfss	5,1
   129  0040  2843               	goto	l12
   130                           ;main.c: 38: id_led_keyboradmouse=1;
   131  0041  16A0               	bsf	_id_led_keyboradmouse/(0+8),_id_led_keybor
      +                          admouse& (0+7)
   132  0042  2865               	goto	l15
   133  0043                     l12
   134                           ;main.c: 39: else
   135  0043  12A0               	bcf	_id_led_keyboradmouse/(0+8),_id_led_keybor
      +                          admouse& (0+7)
   136                           ;main.c: 42: switch (id_led_keyboradmouse)
   137  0044  2865               	goto	l15
   138  0045                     l16
   139                           ;main.c: 43: {
   140                           ;main.c: 45: if(led_keyboradmouse_count<=250)
   141  0045  3000               	movlw	0
   142  0046  0228               	subwf	_led_keyboradmouse_count+1,w	;volatile
   143  0047  30FB               	movlw	251
   144  0048  1903               	btfsc	3,2
   145  0049  0227               	subwf	_led_keyboradmouse_count,w	;volatile
   146  004A  1C03               	btfss	3,0
   147  004B  2857               	goto	u140
   148                           ;main.c: 46: RB3=0;
   149                           ;main.c: 47: else if(led_keyboradmouse_count<=5
      +                          00)
   150  004C  3001               	movlw	1
   151  004D  0228               	subwf	_led_keyboradmouse_count+1,w	;volatile
   152  004E  30F5               	movlw	245
   153  004F  285C               	goto	L5
   154                           ;main.c: 48: RB3=1;
   155                           ;main.c: 49: else led_keyboradmouse_count=0x00;
   156                           ;main.c: 50: break;
   157  0050                     l21
   158                           ;main.c: 51: case 1:
   159                           ;main.c: 52: if(led_keyboradmouse_count<=2000)
   160  0050  3007               	movlw	7
   161  0051  0228               	subwf	_led_keyboradmouse_count+1,w	;volatile
   162  0052  30D1               	movlw	209
   163  0053  1903               	btfsc	3,2
   164  0054  0227               	subwf	_led_keyboradmouse_count,w	;volatile
   165  0055  1803               	btfsc	3,0
   166  0056  2859               	goto	l22
   167  0057                     u140
   168                           ;main.c: 53: RB3=0;
   169  0057  1186               	bcf	6,3
   170  0058  2877               	goto	l14
   171  0059                     l22
   172                           ;main.c: 54: else if(led_keyboradmouse_count<=4
      +                          000)
   173  0059  300F               	movlw	15
   174  005A  0228               	subwf	_led_keyboradmouse_count+1,w	;volatile
   175  005B  30A1               	movlw	161
   176  005C                     L5

⌨️ 快捷键说明

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