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

📄 timer_oper.lst

📁 holtek mouse .asm firewave
💻 LST
字号:
"File: TIMER_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 1


   1  0000              INCLUDE	REG_DEF.INC


   2  0000              
   3  0000              
   4  0000              PUBLIC		INIT_TIMER
   5  0000              
   6  0000              TIMER_CODE	.SECTION	'CODE'
   7  0000              
   8  0000              INIT_TIMER:
   9  0000  0F80        		MOV		A, 080H
  10  0001  008E        		MOV		TMRC, A
  11  0002              
  12  0002  0F69        		MOV		A, 105
  13  0003  008D        		MOV		TMR, A
  14  0004              
  15  0004  0F05        		MOV		A,005H
  16  0005  008B        		MOV		INTC, A
  17  0006              
  18  0006  5F0D        		CLR		TIMER_COUNT
  19  0007              
  20  0007  0003        		RET
  21  0008              
  22  0008              TIMER_ISR:
  23  0008  408E        		MOV		TIMER_ACC, A
  24  0009              
  25  0009  548D        		INC		TIMER_COUNT	; 100 USEC
  26  000A              
  27  000A              
  28  000A  7C0D        		SZ		TIMER_COUNT.0
  29  000B  2800     R  		JMP		NOT_Z_CHECK
  30  000C              
  31  000C  5892        		RL		BS
  32  000D  7412        		CLR		BS.0
  33  000E  5891        		RL		FS
  34  000F  7411        		CLR		FS.0
  35  0010              
  36  0010  3E92        		SZ		WHEEL_BACK	; FORWARD BUT
  37  0011  7012        		SET		BS.0		; F_but_STATE
  38  0012  3F12        		SZ		WHEEL_FORW;BACK_BUT	; BACK BUT
  39  0013  7011        		SET		FS.0		; B_but_STATE
  40  0014              
  41  0014  0FFF        		MOV		A, 0FFH
  42  0015  4412        		XOR		A, BS
  43  0016  1085        		SZ		ACC
  44  0017  2800     R  		JMP		IF_BS_ALL_ZERO
  45  0018              						;==============================
  46  0018  7010        		SET		Z_TEMP.0	; BS bits ALL 1s, 
  47  0019  7013        		SET		STABLE.0	; and BS STABLE
  48  001A              						;==============================
  49  001A              	IF_BS_ALL_ZERO:
  50  001A  1F05        		CLR		ACC
  51  001B  4412        		XOR		A, BS
  52  001C  1085        		SZ		ACC
  53  001D  2800     R  		JMP		IF_FS_ALL_ONE
  54  001E              						;===============================
  55  001E  7410        		CLR		Z_TEMP.0	; BS bits ALL 0s,
  56  001F  7013        		SET		STABLE.0	; and BS STABLE
  57  0020              						;===============================
"File: TIMER_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 2

  58  0020              	IF_FS_ALL_ONE:
  59  0020  0FFF        		MOV		A, 0FFH
  60  0021  4411        		XOR		A, FS
  61  0022  1085        		SZ		ACC
  62  0023  2800     R  		JMP		IF_FS_ALL_ZERO
  63  0024              						;================================
  64  0024  7090        		SET		Z_TEMP.1	; FS bits ALL 1s,
  65  0025  7093        		SET		STABLE.1	; and FS STABLE
  66  0026              						;================================
  67  0026              	IF_FS_ALL_ZERO:
  68  0026  1F05        		CLR		ACC
  69  0027  4411        		XOR		A, FS
  70  0028  1085        		SZ		ACC
  71  0029  2800     R  		JMP		IF_STABLE
  72  002A              						;=================================
  73  002A  7490        		CLR		Z_TEMP.1	; FS bits ALL 0s,
  74  002B  7093        		SET		STABLE.1	; and FS STABLE
  75  002C              						;=================================
  76  002C              	IF_STABLE:
  77  002C  0F03        		MOV		A, 3		;=================================
  78  002D  4413        		XOR		A, STABLE	; Z_TEMP: 0000 00XX
  79  002E  1085        		SZ		ACC		;		 ||
  80  002F  2800     R  		JMP		NOT_Z_CHECK	;		 |FS
  81  0030              						;		 BS
  82  0030              	;==== BELOW : CHECK WHEN STABLE	
  83  0030              	NOT_UPDATE_OLDZ:			; STABLE: 0000 00XX
  84  0030  076C        		MOV		A, OLD_Z	;		 ||
  85  0031  1885        		RL		ACC		;		 |FS
  86  0032  1885        		RL		ACC		;		 BS
  87  0033  4510        		OR		A, Z_TEMP	;==================================
  88  0034  408F        		MOV		Z_COMBINE, A
  89  0035              						;==================================
  90  0035  0F01        		MOV		A, 1		; Z_COMBINE : 0000 XXXX
  91  0036  440F        		XOR		A, Z_COMBINE	;		   ||||
  92  0037  1085        		SZ		ACC		;		   |||FS
  93  0038  2800     R  		JMP		CHECK_E		;		   ||BS
  94  0039              						;		   |OLD_FS
  95  0039  2800     R  		JMP		Z_UP		;		   OLD_BS
  96  003A              						;===================================
  97  003A              	CHECK_E:
  98  003A  0F0E        		MOV		A, 00EH		; 0000 1110 <-- Z_UP
  99  003B  440F        		XOR		A, Z_COMBINE
 100  003C  1085        		SZ		ACC
 101  003D  2800     R  		JMP		CHECK_2
 102  003E              
 103  003E  2800     R  		JMP		Z_UP
 104  003F              
 105  003F              	CHECK_2:
 106  003F  0F02        		MOV		A, 002H		; 0000 0010 <-- Z_DN
 107  0040  440F        		XOR		A, Z_COMBINE
 108  0041  1085        		SZ		ACC
 109  0042  2800     R  		JMP		CHECK_D
 110  0043              
 111  0043  2800     R  		JMP		Z_DN
 112  0044              
 113  0044              	CHECK_D:
 114  0044  0F0D        		MOV		A, 00DH		; 0000 1101 <-- Z_DN
 115  0045  440F        		XOR		A, Z_COMBINE
 116  0046  1085        		SZ		ACC
 117  0047  2800     R  		JMP		ALREADY_Z_CHECK
"File: TIMER_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 3

 118  0048              
 119  0048              	Z_DN:
 120  0048  1FEB        		SET		Z_WHEEL
 121  0049  30EE        		SET		MOVEMENT.1
 122  004A              
 123  004A  2800     R  		JMP		ALREADY_Z_CHECK		
 124  004B              
 125  004B              	Z_UP:
 126  004B  306B        		SET		Z_WHEEL.0
 127  004C  30EE        		SET		MOVEMENT.1
 128  004D              
 129  004D              	ALREADY_Z_CHECK:			;===================================
 130  004D  1F6C        		CLR		OLD_Z		; MOVE OLD_Z <-- Z_TEMP
 131  004E              		
 132  004E  7C10        		SZ		Z_TEMP.0	; OLD_Z = 0000 00XX
 133  004F  306C        		SET		OLD_Z.0
 134  0050  7C90        		SZ		Z_TEMP.1
 135  0051  30EC        		SET		OLD_Z.1		;====================================
 136  0052              						
 137  0052              	NOT_Z_CHECK:				;========================================
 138  0052  470E        		MOV		A, TIMER_ACC	; NOT STABLE or NOT ODD TIMER_ISR
 139  0053  2809        		JMP		EXIT_TIMER_ISR	; DO NOTHING
 140  0054              						;========================================
 141  0054              
 142  0000              TIMER_VECTOR	.SECTION AT 0008H	'CODE'
 143  0000              
 144  0000  2800     R  		JMP		TIMER_ISR
 145  0001              	EXIT_TIMER_ISR:
 146  0001  0004        		RETI
 147  0002              		


        0 Errors

⌨️ 快捷键说明

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