📄 z.asm
字号:
; SNZ TIMER_COUNT.0
; JMP NOT_Z_CHECK
; SNZ TIMER_COUNT.1
; JMP NOT_Z_CHECK
; SNZ TIMER_COUNT.2
; JMP NOT_Z_CHECK
; SNZ TIMER_COUNT.3
; JMP NOT_Z_CHECK
; SNZ TIMER_COUNT.4
; JMP NOT_Z_CHECK
; ;SNZ TIMER_COUNT.5
; ;JMP NOT_Z_CHECK
;
; ;SZ Z_WHEEL
; ;JMP NOT_Z_CHECK
;
; CLR Z_STATUS
;
; SZ PA.5
; SET Z_STATUS.0
; SZ PA.6
; SET Z_STATUS.1
;
; MOV A, 0
; XOR A, OLD_Z
; SZ ACC
; JMP CHECK_IF_11
;
; MOV A, 1
; XOR A, Z_STATUS
; SZ ACC
; JMP CHECK_IF_N10
;
; JMP Z_UP
;
; CHECK_IF_N10:
; MOV A, 2
; XOR A, Z_STATUS
; SZ ACC
; JMP EXIT_Z_CHECK
;
; JMP Z_DN
;
;
; CHECK_IF_11:
; MOV A, 3
; XOR A, OLD_Z
; SZ ACC
; JMP EXIT_Z_CHECK
;
; MOV A, 1
; XOR A, Z_STATUS
; SZ ACC
; JMP CHECK_IF_N110
;
; JMP Z_DN
;
; CHECK_IF_N110:
; MOV A, 2
; XOR A, Z_STATUS
; SZ ACC
; JMP EXIT_Z_CHECK
;
; JMP Z_UP
;
; Z_DN:
; SET Z_WHEEL.0
; SET MOVEMENT.1
; JMP EXIT_Z_CHECK
;
; Z_UP:
; SET Z_WHEEL
; SET MOVEMENT.1
;
; EXIT_Z_CHECK:
; MOV A, Z_STATUS
; MOV OLD_Z, A
; MOV A, TIMER_COUNT
; AND A, 003H
; XOR A, 002H
; SZ ACC
; JMP CHECK_IF_ZERO
;
; CLR Z_STATUS
;
; SZ PA.5
; SET Z_STATUS.0
; SZ PA.6
; SET Z_STATUS.1
SZ TIMER_COUNT.0
JMP NOT_Z_CHECK;NOT_PUSH
CLR STABLE
RL FS
RL BS
CLR FS.0
CLR BS.0
SZ PA.5
SET FS.0
SZ PA.6
SET BS.1
MOV A, 0FFH
XOR A, FS
SZ ACC
JMP IF_FS_ALL_ZERO
SET Z_STATUS.0
SET STABLE.0
IF_FS_ALL_ZERO:
CLR ACC
XOR A, FS
SZ ACC
JMP IF_BS_ALL_ONE
CLR Z_STATUS.0
SET STABLE.0
IF_BS_ALL_ONE:
MOV A, 0FFH
XOR A, BS
SZ ACC
JMP IF_BS_ALL_ZERO
SET Z_STATUS.1
SET STABLE.1
IF_BS_ALL_ZERO:
CLR ACC
XOR A, BS
SZ ACC
JMP IF_STABLE
CLR Z_STATUS.1
SET STABLE.1
IF_STABLE:
MOV A, 3
XOR A, STABLE
SZ ACC
JMP NOT_STABLE
MOV A, Z_STATUS
SZ ACC
JMP IF_11_UPDATE
JMP UPDATE_Z
IF_11_UPDATE:
MOV A, 3
XOR A, Z_STATUS
SZ ACC
JMP NOT_PUSH
UPDATE_Z:
CLR OLD_Z
SZ Z_STATUS.1
SET OLD_Z.0
SZ Z_STATUS.0
SET OLD_Z.1
NOT_PUSH:
MOV A, OLD_Z
RL ACC
RL ACC
OR A, Z_STATUS
MOV Z_COMBINE, A
MOV A, 1
XOR A, Z_COMBINE
SZ ACC
JMP CHECK_IF_7
JMP B_STEP
CHECK_IF_7:
MOV A, 7
XOR A, Z_COMBINE
SZ ACC
JMP CHECK_IF_8
JMP B_STEP
CHECK_IF_8:
MOV A, 8
XOR A, Z_COMBINE
SZ ACC
JMP CHECK_IF_E
JMP B_STEP
CHECK_IF_E:
MOV A, 00EH
XOR A, Z_COMBINE
SZ ACC
JMP CHECK_IF_2
JMP B_STEP
CHECK_IF_2:
MOV A, 2
XOR A, Z_COMBINE
SZ ACC
JMP CHECK_IF_4
JMP F_STEP
CHECK_IF_4:
MOV A, 4
XOR A, Z_COMBINE
SZ ACC
JMP CHECK_IF_B
JMP F_STEP
CHECK_IF_B:
MOV A, 00BH
XOR A, Z_COMBINE
SZ ACC
JMP CHECK_IF_D
JMP F_STEP
CHECK_IF_D:
MOV A, 00DH
XOR A, Z_COMBINE
SZ ACC
JMP NOT_Z_CHECK
F_STEP:
SET Z_WHEEL.0
SET MOVEMENT.1
; CLR OLD_Z
; SZ Z_STATUS.0
; SET OLD_Z.0
; SZ Z_STATUS.1
; SET OLD_Z.1
JMP NOT_Z_CHECK
B_STEP:
SET Z_WHEEL
SET MOVEMENT.1
; CLR OLD_Z
; SZ Z_STATUS.0
; SET OLD_Z.0
; SZ Z_STATUS.1
; SET OLD_Z.1
JMP NOT_Z_CHECK
NOT_STABLE:
; CHECK_IF_ZERO:
; MOV A, TIMER_COUNT
; AND A, 00FH
; XOR A, 000H
; SZ ACC
; JMP NOT_Z_CHECK
;
; CLR OLD_Z
;
; SZ PA.5
; SET OLD_Z.0
; SZ PA.6
; SET OLD_Z.1
NOT_Z_CHECK:
=====================================================================================
SZ TIMER_COUNT.0
JMP NOT_Z_CHECK
RL FS
CLR FS.0
RL BS
CLR BS.0
SZ PA.6
SET FS.0
SZ PA.5
SET BS.0
MOV A, 0FFH
XOR A, FS
SZ ACC
JMP IF_FS_ALL_ZERO
SET Z_TEMP.0
SET STABLE.0
IF_FS_ALL_ZERO:
CLR ACC
XOR A, FS
SZ ACC
JMP IF_BS_ALL_ONE
CLR Z_TEMP.0
SET STABLE.0
IF_BS_ALL_ONE:
MOV A, 0FFH
XOR A, BS
SZ ACC
JMP IF_BS_ALL_ZERO
SET Z_TEMP.1
SET STABLE.1
IF_BS_ALL_ZERO:
CLR ACC
XOR A, BS
SZ ACC
JMP IF_STABLE
CLR Z_TEMP.1
SET STABLE.1
IF_STABLE:
MOV A, 3
XOR A, STABLE
SZ ACC
JMP NOT_Z_CHECK
MOV A, 3
XOR A, Z_TEMP
SZ ACC
JMP CHECK_IF_ALL_ZERO
SET OLD_Z.0
SET OLD_Z.1
JMP NOT_Z_CHECK
CHECK_IF_ALL_ZERO:
MOV A, Z_TEMP
SZ ACC
JMP NOT_UPDATE_OLDZ
CLR OLD_Z
JMP NOT_Z_CHECK
NOT_UPDATE_OLDZ:
MOV A, OLD_Z
RL ACC
RL ACC
OR A, Z_TEMP
MOV Z_COMBINE, A
MOV A, 1
XOR A, Z_COMBINE
SZ ACC
JMP CHECK_E
JMP Z_UP
CHECK_E:
MOV A, 00EH
XOR A, Z_COMBINE
SZ ACC
JMP CHECK_2
JMP Z_UP
CHECK_2:
MOV A, 002H
XOR A, Z_COMBINE
SZ ACC
JMP CHECK_D
JMP Z_DN
CHECK_D:
MOV A, 00DH
XOR A, Z_COMBINE
SZ ACC
JMP NOT_Z_CHECK
Z_DN:
SET Z_WHEEL
SET MOVEMENT.1
JMP NOT_Z_CHECK
Z_UP:
SET Z_WHEEL.0
SET MOVEMENT.1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -