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

📄 main.lst

📁 PS2 读取键盘数具,非常好的一个软件PCB
💻 LST
📖 第 1 页 / 共 5 页
字号:
   427  05EE                     _KeyScan
   428                           ;main.c: 405: void KeyScan(void)
   429  05EE  1683               	bsf	3,5
   430  05EF  1303               	bcf	3,6	;carry unused
   431  05F0  1605               	bsf	5,4
   432  05F1  1105               	bcf	5,2
   433  05F2  1185               	bcf	5,3
   434                           ;main.c: 408: RA2=0;RA3=1;
   435  05F3  1283               	bcf	3,5
   436  05F4  1105               	bcf	5,2
   437  05F5  1585               	bsf	5,3
   438                           ;main.c: 410: if(RA4==0)
   439  05F6  1A05               	btfsc	5,4
   440  05F7  2DFA               	goto	l146
   441                           ;main.c: 411: i_check_code=1;
   442  05F8  1520               	bsf	_i_check_code/(0+8),_i_check_code& (0+7)
   443  05F9  2DFB               	goto	l147
   444  05FA                     l146
   445                           ;main.c: 412: else
   446  05FA  1120               	bcf	_i_check_code/(0+8),_i_check_code& (0+7)
   447  05FB                     l147
   448                           ;main.c: 415: if(have_key==0)
   449  05FB  18A0               	btfsc	_have_key/(0+8),_have_key& (0+7)
   450  05FC  2E13               	goto	l148
   451                           ;main.c: 416: {
   452  05FD  1D20               	btfss	_i_check_code/(0+8),_i_check_code& (0+7)
   453  05FE  2E10               	goto	l149
   454                           ;main.c: 418: {
   455  05FF  1DA0               	btfss	_id_1ms/(0+8),_id_1ms& (0+7)
   456  0600  0008               	return
   457                           ;main.c: 420: {
   458  0601  11A0               	bcf	_id_1ms/(0+8),_id_1ms& (0+7)
   459                           ;main.c: 422: key_count++;
   460  0602  0AA5               	incf	_key_count	;volatile
   461  0603  1903               	btfsc	3,2
   462  0604  0AA6               	incf	_key_count+1	;volatile
   463                           ;main.c: 423: if(key_count>=800)
   464  0605  3003               	movlw	3
   465  0606  0226               	subwf	_key_count+1,w	;volatile
   466  0607  3020               	movlw	32
   467  0608  1903               	btfsc	3,2
   468  0609  0225               	subwf	_key_count,w	;volatile
   469  060A  1C03               	btfss	3,0
   470  060B  0008               	return
   471                           ;main.c: 424: {key_count=0x00;have_key=1;}
   472  060C  01A5               	clrf	_key_count	;volatile
   473  060D  01A6               	clrf	_key_count+1	;volatile
   474  060E  14A0               	bsf	_have_key/(0+8),_have_key& (0+7)
   475                           ;main.c: 425: }
   476  060F  0008               	return
   477  0610                     l149
   478                           ;main.c: 427: else key_count=0x00;
   479  0610  01A5               	clrf	_key_count	;volatile
   480  0611  01A6               	clrf	_key_count+1	;volatile
   481                           ;main.c: 428: }
   482  0612  0008               	return
   483  0613                     l148
   484                           ;main.c: 429: else
   485  0613  1D20               	btfss	_i_check_code/(0+8),_i_check_code& (0+7)
   486                           ;main.c: 432: have_key=0;
   487  0614  10A0               	bcf	_have_key/(0+8),_have_key& (0+7)
   488                           ;main.c: 433: }
   489  0615  0008               	return	;W free
   490  0616                     _DxmS
   491                           ;	_cnt assigned to ?a_DxmS+0
   492  0000                     _DxmS$cnt	set	?a_DxmS
   493                           ;main.c: 176: void DxmS(void)
   494  0616  30FF               	movlw	255
   495  0617  0183               	clrf	3	;select bank 0
   496  0618  00AB               	movwf	?a_DxmS
   497  0619  00AC               	movwf	?a_DxmS+1
   498  061A                     l67
   499                           ;main.c: 180: {;}
   500  061A  08AB               	movf	?a_DxmS
   501  061B  1903               	btfsc	3,2
   502  061C  03AC               	decf	?a_DxmS+1
   503  061D  03AB               	decf	?a_DxmS
   504  061E  082C               	movf	?a_DxmS+1,w
   505  061F  042B               	iorwf	?a_DxmS,w
   506  0620  1903               	btfsc	3,2
   507  0621  0008               	return
   508  0622  2E1A               	goto	l67
   509  0623                     _EE_ReadByte
   510                           ;	_addr assigned to ?a_EE_ReadByte+0
   511  0000                     _EE_ReadByte$addr	set	?a_EE_ReadByte
   512                           ;_addr stored from w
   513  0623  0183               	clrf	3	;select bank 0
   514  0624  00B2               	movwf	?a_EE_ReadByte
   515                           ;main.c: 190: unsigned char EE_ReadByte (unsign
      +                          ed char addr)
   516  0625  1683               	bsf	3,5
   517  0626  1703               	bsf	3,6
   518  0627  110C               	bcf	12,2
   519                           ;main.c: 193: EEADR=addr;EEPGD=0;RD=1;
   520  0628  1283               	bcf	3,5
   521  0629  1303               	bcf	3,6	;carry unused
   522  062A  0832               	movf	?a_EE_ReadByte,w
   523  062B  1703               	bsf	3,6
   524  062C  008D               	movwf	13
   525  062D  1683               	bsf	3,5
   526  062E  138C               	bcf	12,7
   527  062F  140C               	bsf	12,0
   528                           ;main.c: 194: while(RD)
   529  0630  2E32               	goto	l71
   530  0631                     l72
   531                           ;main.c: 195: asm("nop");
   532  0631  0000               	nop	;#
   533  0632                     l71
   534  0632  180C               	btfsc	12,0
   535  0633  2E31               	goto	l72
   536                           ;main.c: 196: return EEDATA;
   537  0634  1283               	bcf	3,5
   538  0635  080C               	movf	12,w	;volatile
   539                           ;main.c: 197: }
   540  0636  1303               	bcf	3,6	;carry unused
   541  0637  0008               	return	;uses W
   542  0638                     _main
   543                           ;main.c: 97: main()
   544  0638  1283               	bcf	3,5
   545  0639  1703               	bsf	3,6
   546  063A  0185               	clrf	5	;volatile
   547                           ;main.c: 102: STATUS=0x00;FSR=0x20;
   548  063B  0183               	clrf	3	;volatile
   549  063C  3020               	movlw	32
   550  063D  0084               	movwf	4
   551                           ;main.c: 103: while(FSR!=0x80)
   552  063E  2E41               	goto	l46
   553  063F                     l47
   554                           ;main.c: 104: {INDF=0x00;FSR++;}
   555  063F  0180               	clrf	0	;volatile
   556  0640  0A84               	incf	4
   557  0641                     l46
   558  0641  0804               	movf	4,w
   559  0642  3A80               	xorlw	-128
   560  0643  1D03               	btfss	3,2
   561  0644  2E3F               	goto	l47
   562                           ;main.c: 106: STATUS=0x00;STATUS=STATUS|0x20;FS
      +                          R=0xa0;
   563  0645  0183               	clrf	3	;volatile
   564  0646  1683               	bsf	3,5	;volatile
   565  0647  30A0               	movlw	-96
   566  0648  0084               	movwf	4
   567                           ;main.c: 107: while(FSR!=0xf0)
   568  0649                     l49
   569  0649  0804               	movf	4,w
   570  064A  3AF0               	xorlw	-16
   571  064B  1903               	btfsc	3,2
   572  064C  2E50               	goto	l51
   573                           ;main.c: 108: {INDF=0x00;FSR++;}
   574  064D  0180               	clrf	0	;volatile
   575  064E  0A84               	incf	4
   576  064F  2E49               	goto	l49
   577  0650                     l51
   578                           ;main.c: 110: STATUS=0x00;STATUS=STATUS|0xc0;FS
      +                          R=0x10;
   579  0650  0183               	clrf	3	;volatile
   580  0651  30C0               	movlw	-64
   581  0652  0483               	iorwf	3	;volatile
   582  0653  3010               	movlw	16
   583  0654  0084               	movwf	4
   584                           ;main.c: 111: while(FSR!=0x70)
   585  0655                     l52
   586  0655  0804               	movf	4,w
   587  0656  3A70               	xorlw	112
   588  0657  1903               	btfsc	3,2
   589  0658  2E5C               	goto	l54
   590                           ;main.c: 112: {INDF=0x00;FSR++;}
   591  0659  0180               	clrf	0	;volatile
   592  065A  0A84               	incf	4
   593  065B  2E55               	goto	l52
   594  065C                     l54
   595                           ;main.c: 114: STATUS=0x00;STATUS=STATUS|0xe0;FS
      +                          R=0x90;
   596  065C  0183               	clrf	3	;volatile
   597  065D  30E0               	movlw	-32
   598  065E  0483               	iorwf	3	;volatile
   599  065F  3090               	movlw	-112
   600  0660  0084               	movwf	4
   601                           ;main.c: 115: while(FSR!=0xf0)
   602  0661                     l55
   603  0661  0804               	movf	4,w
   604  0662  3AF0               	xorlw	-16
   605  0663  1903               	btfsc	3,2
   606  0664  2E68               	goto	l57
   607                           ;main.c: 116: {INDF=0x00;FSR++;}
   608  0665  0180               	clrf	0	;volatile
   609  0666  0A84               	incf	4
   610  0667  2E61               	goto	l55
   611  0668                     l57
   612                           ;main.c: 118: OPTION=0x02;
   613  0668  3002               	movlw	2
   614  0669  1683               	bsf	3,5
   615  066A  1303               	bcf	3,6	;carry unused
   616  066B  0081               	movwf	1
   617                           ;main.c: 119: CMCON=0x0ff;
   618  066C  30FF               	movlw	-1
   619  066D  009C               	movwf	28	;volatile
   620                           ;main.c: 120: T1CON=0x00;
   621  066E  1283               	bcf	3,5
   622  066F  0190               	clrf	16	;volatile
   623                           ;main.c: 121: INTCON=0x00;
   624  0670  018B               	clrf	11	;volatile
   625                           ;main.c: 122: TMR0=0x87;
   626  0671  3087               	movlw	-121
   627  0672  0081               	movwf	1	;volatile
   628                           ;main.c: 123: INT0IE=1;TMR0IE=1;GIE=1;
   629  0673  160B               	bsf	11,4
   630  0674  168B               	bsf	11,5
   631  0675  178B               	bsf	11,7
   632                           ;main.c: 125: keyinpt = 0;
   633  0676  01A2               	clrf	_keyinpt	;volatile
   634                           ;main.c: 126: keyoutpt = 0;
   635  0677  01A3               	clrf	_keyoutpt	;volatile
   636                           ;main.c: 127: led_status=0x03;
   637  0678  3003               	movlw	3
   638  0679  00A4               	movwf	_led_status	;volatile
   639                           ;main.c: 129: Ps2PortInit();
   640  067A  118A  24EB  118A   	fcall	_Ps2PortInit
   641                           ;main.c: 131: eepromaddrpt = (unsigned char)(EE
      +                          _ReadByte(0x00));
   642  067D  3000               	movlw	0
   643  067E  2623               	fcall	_EE_ReadByte
   644  067F  00A1               	movwf	_eepromaddrpt	;volatile
   645                           ;main.c: 132: DxmS();
   646  0680  2616               	fcall	_DxmS
   647  0681                     l59
   648                           ;main.c: 134: while(1)
   649                           ;main.c: 135: {
   650  0681  25EE               	fcall	_KeyScan
   651                           ;main.c: 140: KeyProc();
   652  0682  25EC               	fcall	_KeyProc
   653                           ;main.c: 142: ButtonHandle();
   654  0683  26F9               	fcall	_ButtonHandle
   655                           ;main.c: 144: if(keyinpt!= keyoutpt)
   656  0684  0822               	movf	_keyinpt,w	;volatile
   657  0685  0623               	xorwf	_keyoutpt,w	;volatile
   658  0686  1903               	btfsc	3,2
   659  0687  2E81               	goto	l59
   660  0688                     l64
   661                           ;main.c: 145: {
   662                           ;main.c: 148: {
   663  0688  0823               	movf	_keyoutpt,w	;volatile
   664  0689  3EA0               	addlw	_keybuff
   665  068A  0084               	movwf	4
   666  068B  1383               	bcf	3,7
   667  068C  0800               	movf	0,w
   668  068D  00B2               	movwf	?_EE_WriteByte
   669  068E  0821               	movf	_eepromaddrpt,w	;volatile
   670  068F  25BC               	fcall	_EE_WriteByte
   671                           ;main.c: 150: asm("nop");
   672  0690  0000               	nop	;#
   673                           ;main.c: 151: eepromaddrpt++;
   674  0691  0FA1               	incfsz	_eepromaddrpt	;volatile
   675                           ;main.c: 152: if(eepromaddrpt==0x00)
   676  0692  2E94               	goto	l65
   677                           ;main.c: 153: {eepromaddrpt = 0x00;}
   678  0693  01A1               	clrf	_eepromaddrpt	;volatile

⌨️ 快捷键说明

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