📄 sv2105.lst
字号:
00196 #DEFINE STEP_SIZE_1 D'1' ;STEP SIZE OF 1 BYTE
00197 #DEFINE STEP_SIZE_2 D'2' ;STEP SIZE OF 2 BYTES
00198 #DEFINE STEP_SIZE_3 D'3' ;STEP SIZE OF 3 BYTES
00199 #DEFINE STEP_TMR_1 D'8' ;STEP DURATION COUNTER = 1*DUR_STEP
00200 #DEFINE STEP_TMR_2 D'16' ;STEP DURATION COUNTER = 2*DUR_STEP
00201 #DEFINE STEP_TMR_4 D'32' ;STEP DURATION COUNTER = 4*DUR_STEP
00202 #DEFINE STEP_TMR_8 D'64' ;STEP DURATION COUNTER = 8*DUR_STEP
00203
00204 #DEFINE MOVW MOVWF
00205
00206
00207 #DEFINE DIGITAL_ID 0X82 ; 0x41 mode
00208 #DEFINE ANALOG_ID 0XCE ; 0x73 mode
00209
00210
00211 #DEFINE INIT_4F_1 0XFC
00212
00213 #DEFINE NULL_OFFSET D'10'
00214 #DEFINE MAX_SEN 0X70
00215
00216 #DEFINE DEFAULT_AXES 0XFE ; 7f
00217
00218 ;code # stored in EEPROM
00219 #DEFINE PB_SQUARE D'0'
00220 #DEFINE PB_CROSS D'1'
00221 #DEFINE PB_CIRCLE D'2'
00222 #DEFINE PB_TRIANGLE D'3'
00223 #DEFINE PB_R1 D'4'
00224 #DEFINE PB_L1 D'5'
00225 #DEFINE PB_R2 D'6'
00226 #DEFINE PB_L2 D'7'
00227 #DEFINE PB_LEFT D'8'
00228 #DEFINE PB_DOWN D'9'
00229 #DEFINE PB_RIGHT D'10'
00230 #DEFINE PB_UP D'11'
00019 INCLUDE "vars.asm"
00001 ;==========================================================================
00002 ; File Name : vars.asm
00003 ;
00004 ; Rev: Date: Author: Reason:
00005 ; 0.00 29-06-96 C.H.Lai First Version
00006 ; 1.00 xx-07-96 C.H.Lai First Release
00007 ;==========================================================================
00008
00009 ; -------------
00010 ; page 0
00011 ; -------------
0000007F 00012 PB_DATA_CRC EQU 0X7F ;CRC FOR BUTTON DATA
0000007E 00013 PBID_14 EQU 0X7E ;DATA LENGTH FOR BUTTON #14
0000007D 00014 PBID_13 EQU 0X7D ;DATA LENGTH FOR BUTTON #13
0000007C 00015 PBID_12 EQU 0X7C ;DATA LENGTH FOR BUTTON #12
0000007B 00016 PBID_11 EQU 0X7B ;DATA LENGTH FOR BUTTON #11
0000007A 00017 PBID_10 EQU 0X7A ;DATA LENGTH FOR BUTTON #10
00000079 00018 PBID_9 EQU 0X79 ;DATA LENGTH FOR BUTTON #9
00000078 00019 PBID_8 EQU 0X78 ;DATA LENGTH FOR BUTTON #8
00000077 00020 PBID_7 EQU 0X77 ;DATA LENGTH FOR BUTTON #7
00000076 00021 PBID_6 EQU 0X76 ;DATA LENGTH FOR BUTTON #6
00000075 00022 PBID_5 EQU 0X75 ;DATA LENGTH FOR BUTTON #5
00000074 00023 PBID_4 EQU 0X74 ;DATA LENGTH FOR BUTTON #4
00000073 00024 PBID_3 EQU 0X73 ;DATA LENGTH FOR BUTTON #3
00000072 00025 PBID_2 EQU 0X72 ;DATA LENGTH FOR BUTTON #2
00000071 00026 PBID_1 EQU 0X71 ;DATA LENGTH FOR BUTTON #1
00000070 00027 PBID_0 EQU 0X70 ;DATA LENGTH FOR BUTTON #0
00028
00029 #DEFINE PBID_PTR PBID_0 ;POINTER TO THE FIRST PBID
00030
0000006F 00031 CRC_BYTE EQU 0X6F ;BUFFER FOR CRC VALUE
0000006E 00032 INPUT_BYTE EQU 0X6E ;DATA INPUT BYTE FOR CRC CALCULATION
00033
0000006D 00034 MOV_COUNT EQU 0X6D ;COUNTER NO. OF BYTES TO BE MOVED
0000006C 00035 MOV_BUFFER EQU 0X6C ;TEMPORARY BUFFER FOR DATA MOVE
00036
0000006B 00037 MEM_FREE EQU 0X6B ;MEMORY FREE LEFT FOR DATA
00038
0000006A 00039 PTR_SRC EQU 0X6A ;SOURCE POINTER
00000069 00040 PCLATH_SAVE2 EQU 0X69
00000068 00041 PTR_END EQU 0X68 ;DESTINATION POINTER
00000067 00042 PTR_NXT EQU 0X67 ;CURRENT STEP POINTER
00000066 00043 DATA_LENGTH EQU 0X66 ;DATA LENGTH FOR A STEP
00044
00000065 00045 PGM_BUF0 EQU 0X65 ;LOWEST ORDER BYTE OF ENCODE KEY(S)
00000064 00046 PGM_BUF1 EQU 0X64 ;MIDDLE ORDER BYTE OF ENCODE KEY(S)
00000063 00047 PGM_BUF2 EQU 0X63 ;HIGHEST ORDER BYTE OF ENCODE KEY(S)
00048
00049 #DEFINE PGM_BUF_PTR PGM_BUF0 ;POINTER TO PROGRAM BUFFER
00050
00000062 00051 LOOP_COUNT EQU 0X62 ;LOOP COUNTER
00052
00000061 00053 TEMP_BUF1 EQU 0X61 ;TEMPORARY BUFFER #1
00000060 00054 TEMP_BUF2 EQU 0X60 ;TEMPORARY BUFFER #2
0000005F 00055 TEMP_BUF3 EQU 0X5F ;TEMPORARY BUFFER #3
00056
0000005E 00057 EE_BUF0 EQU 0X5E ;EEPROM TRANSFER LOWER ORDER BYTE
0000005D 00058 EE_BUF1 EQU 0X5D ;EEPROM TRANSFER HIGHER ORDER BYTE
0000005C 00059 EE_ADDR EQU 0X5C ;EEPROM STARTING ADDRESS POINTER
00060
0000005B 00061 EE_IO_BUF EQU 0X5B ; parameters for ee_io
0000005A 00062 EE_IO_CNT EQU 0X5A
00063 #DEFINE PFORCE_0 EE_IO_BUF
00064 #DEFINE PFORCE_1 EE_IO_CNT
00065
00066 ; MSB LSB
00067 ; RT DN LT UP UC DC LC RC (low byte)
00068 ; JR ST EX A B Z L R (high byte)
00069 #DEFINE BIT_SEL 7 ; in pb_xxx1
00070 #DEFINE BIT_ST 6
00071 #DEFINE BIT_R3 5
00072 #DEFINE BIT_L3 4
00073 #DEFINE BIT_UP 3
00074 #DEFINE BIT_RT 2
00075 #DEFINE BIT_DN 1
00076 #DEFINE BIT_LT 0
00077 #DEFINE BIT_L2 7 ; in pb_xxx0
00078 #DEFINE BIT_R2 6
00079 #DEFINE BIT_L1 5
00080 #DEFINE BIT_R1 4
00081 #DEFINE BIT_TRI 3
00082 #DEFINE BIT_CIR 2
00083 #DEFINE BIT_CRO 1
00084 #DEFINE BIT_SQU 0
00000059 00085 PB_RAW0 EQU 0X59 ;BUTTON RAW BUFFER LOWER ORDER
00000058 00086 PB_RAW1 EQU 0X58 ;BUTTON RAW BUFFER HIGHER ORDER
00087 #DEFINE PTR_PBRAW0 PB_RAW0 ;POINTER TO PB_RAW0 BUFFER
00000057 00088 PB_OLD0 EQU 0X57 ;BUTTON OLD BUFFER LOWER ORDER
00000056 00089 PB_OLD1 EQU 0X56 ;BUTTON OLD BUFFER HIGHER ORDER
00000055 00090 PB_OUT0 EQU 0X55 ;BUTTON OUTPUT BUFFER LOWER ORDER
00000054 00091 PB_OUT1 EQU 0X54 ;BUTTON OUTPUT BUFFER HIGHER ORDER
00000053 00092 PB_AUTO0 EQU 0X53 ; auto fire mask low
00000052 00093 PB_AUTO1 EQU 0X52 ; auto fire mask high
00094 #DEFINE T_UP_BIT PB_OUT1,BIT_UP ;CURSOR UP BIT IN PB_OUT
00095 #DEFINE T_RT_BIT PB_OUT1,BIT_RT ;CURSOR RIGHT BIT IN PB_OUT
00096 #DEFINE T_DN_BIT PB_OUT1,BIT_DN ;CURSOR DOWN BIT IN PB_OUT
00097 #DEFINE T_LT_BIT PB_OUT1,BIT_LT ;CURSOR LEFT BIT IN PB_OUT
00098 #DEFINE T_EX_BIT PB_OUT1,BIT_EX ;BUTTON EXTRA BIT IN PB_OUT
00099 #DEFINE T_ST_BIT PB_OUT1,BIT_ST ;BUTTON START BIT IN PB_OUT
00100 ;#define t_rst_bit pb_out1,BIT_JRES ;BUTTON START BIT IN PB_OUT
00101 #DEFINE R_UP_BIT PB_RAW1,BIT_UP ;CURSOR UP BIT IN PB_RAW
00102 #DEFINE R_RT_BIT PB_RAW1,BIT_RT ;CURSOR RIGHT BIT IN PB_RAW
00103 #DEFINE R_DN_BIT PB_RAW1,BIT_DN ;CURSOR DOWN BIT IN PB_RAW
00104 #DEFINE R_LT_BIT PB_RAW1,BIT_LT ;CURSOR LEFT BIT IN PB_RAW
00105 #DEFINE R_ST_BIT PB_RAW1,BIT_ST ;BUTTON START BIT IN PB_RAW
00106 ;#define r_rst_bit pb_raw1,BIT_JRES ;BUTTON START BIT IN PB_RAW
00107 #DEFINE O_ST_BIT PB_OLD1,BIT_ST ;START BIT IN PB_OLD
00108
00000051 00109 FN_BUTTON EQU 0X51 ; low nib-old buffer, hi nib-raw buffer
00110 ;#define auto_en_bit fn_button,0 ;SLOW BUTTON STATUS BIT
00111 #DEFINE MODE_BIT FN_BUTTON,0
00112 #DEFINE AUTO_BIT FN_BUTTON,1 ;AUTO BUTTON STATUS BIT
00113 #DEFINE PGM_BIT FN_BUTTON,2 ;PROGRAM BUTTON STATUS BIT
00114 ;#define auto_dis_bit fn_button,3
00115 ;#define r_auto_en_bit fn_button,4
00116 #DEFINE R_MODE_BIT FN_BUTTON,4
00117 #DEFINE R_AUTO_BIT FN_BUTTON,5
00118 #DEFINE R_PGM_BIT FN_BUTTON,6 ;PROGRAM BUTTON STATUS IN RAW BUFFER
00119 ;#define r_auto_dis_bit fn_button,7
00120
00000050 00121 PLED_CMD EQU 0X50 ;LED CONTROL COMMAND
00122
0000004F 00123 DUR_STEP EQU 0X4F ;STEP DURATION
0000004E 00124 TMR_SLED EQU 0X4E ;PAUSE LED COUNTER
0000004D 00125 TMR_ALED EQU 0X4D ;AUTO FIRE LED COUNTER
0000004C 00126 DUR_DBC EQU 0X4C ;BUTTON DEBOUNCE DURATION CONTROL
00127
0000004B 00128 PBID EQU 0X4B ;BUTTON NUMBER, 0-14 VALID
00129
0000004A 00130 BEEP_CNT EQU 0X4A ;BEEP COUNT, 0->BEEP ON, 1->BEEP OFF
00131
00132 ; timer counters, dec. to zero and stop if dec. by p_timer()
00000049 00133 TMR_STEP EQU 0X49 ;FIRE STEP TIMER, N/100S
00000048 00134 TMR_PLED EQU 0X48 ;LED TIMER, N/100S
00000047 00135 TMR_AUTO EQU 0X47 ;AUTO FIRE TIMER, N/100S
00000046 00136 TMR_DBC EQU 0X46 ;BUTTON DEBOUNCE TIMER, N/100S
00000045 00137 TMR_BEEP EQU 0X45 ;BEEP TIMER, N/100S
00138
00000044 00139 FLAG0 EQU 0X44
00000043 00140 FLAG1 EQU 0X43
00000042 00141 FLAG2 EQU 0X42
00000041 00142 FLAG3 EQU 0X41
00143 #DEFINE F_NMODE FLAG3,0 ; old mode : 0
00144 #DEFINE F_SETTING_MODE FLAG3,1 ; new mode : 0 = normal
00145 #DEFINE F_DATA1_IS_0 FLAG3,2
00146 #DEFINE F_DATA1_IS_1 FLAG3,3
00147 #DEFINE F_44_CHMODE FLAG3,4 ; change mode by command 44
00148 #DEFINE F_44_LOCK FLAG3,5 ; mode button lock by command 44
00149 #DEFINE D_A_MODE FLAG3,6 ; 1: analog mode; 0 : digital mode
00150 #DEFINE MODE_CH FLAG3,7
00151
00152
00153 #DEFINE F_ALT_VR FLAG2,7
00154 ;#define f_l_axis flag2,6
00155 ;#define f_r_axis flag2,5
00156 #DEFINE F_AUTO_EN FLAG2,4
00157 #DEFINE F_AUTO_DIS FLAG2,3
00158 #DEFINE F_AUTO_PRESS FLAG2,2
00159 #DEFINE F_SIOINTR FLAG2,1
00160 #DEFINE F_SIGN FLAG1,7
00161 #DEFINE F_AUTLED2 FLAG1,6 ;0=ON ALWAYS, 1=BLINKS
00162 #DEFINE F_AUTLED1 FLAG1,5 ;0=LED OFF, 1=LED ON
00163 #DEFINE F_SLOLED FLAG1,4 ;0=LED OFF, 1=LED FLASHES
00164 #DEFINE F_RESET_RAM FLAG1,3 ;0=NORMAL RESET, 1=SPECIAL RESET
00165 #DEFINE F_SPACE FLAG1,2 ;1=FIRE OF A SPACE DONE
00166 #DEFINE F_MAPBAD FLAG1,1 ;1=BUTTON DATA INVALID
00167 #DEFINE F_KEYSTB FLAG1,0 ;1=KEY BECOMES STABLE
00168 #DEFINE F_DBCPB FLAG0,7 ;1=INCLUDES FIRE BUTTON DEBOUNCE
00169 #DEFINE F_NEWDAT FLAG0,6 ;1=NEW DATA AVAILABLE
00170 #DEFINE F_BEEP FLAG0,5 ;1=BEEP OUTPUT IS ON
00171 #DEFINE F_PBPRESS FLAG0,4 ;1=BUTTON PRESSED
00172 #DEFINE F_EEEXIST FLAG0,3 ;1=EEPROM EXISTS
00173 #DEFINE F_EOB FLAG0,2 ;1=END OF BUTTON REACHED
00174 #DEFINE F_PAUSE FLAG0,1 ;1=NOW IS PAUSE
00175 #DEFINE F_FIRE FLAG0,0 ;1=NOW IS FIRING
00176
00177
00000040 00178 DELAY1 EQU 0X40
00179 #DEFINE PB_CHECK DELAY1 ; reuse delay1
0000003F 00180 DELAY0 EQU 0X3F
00181 #DEFINE BUTTON_MAX DELAY0 ; reuse delay0 location
00182
0000003E 00183 VR_NULL EQU 0X3E ; parameters for adj_axis()
00184 #DEFINE SC_BYTE_COUNT VR_NULL ; reuse
0000003D 00185 VR_VALUE EQU 0X3D
00186 #DEFINE SC_SHIFT_BYTE VR_VALUE ; reuse
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -