📄 9222asm.asm
字号:
MOV key_code,#run_night_code
CALL !Key_pressed_deal
BR Key_remote_deal0
No_key_press_judge:
CMP A,#250
BNC $No_key_pressed
More_key_pressed:
SET1 more_key_pressed_f
BR Key_remote_deal_r
No_key_pressed:
BF set_by_remote_f,$No_key_pressed0
CLR1 set_by_remote_f
BR Code_deal
No_key_pressed0:
CLR1 PMK0
CLR1 first_pressed_f
CLR1 more_key_pressed_f
MOV key_pressed_c,#0
MOV key_code,#0
MOV A,set_flag
CMP A,#10000000B
BNZ $No_key_pressed1
BR Key_remote_deal_r
No_key_pressed1:
MOVW AX,no_key_pressed_c
CMPW AX,#500
BNC $Setting_confirm
INCW AX
MOVW no_key_pressed_c,AX
BR Key_remote_deal_r
Setting_confirm:
MOVW AX,#0
MOVW no_key_pressed_c,AX
SET1 ring_3times_f
CALL !Set_confirm
BR Key_remote_deal_r
Key_remote_deal0:
BF set_by_remote_f,$Key_remote_deal1
CLR1 set_by_remote_f
Key_remote_deal1:
BF more_key_pressed_f,$Code_deal
BR Key_remote_deal_r
Code_deal:
MOV A,key_code
CMP A,#onoff_code
BNZ $Code_deal0
BR Onoff_deal
Code_deal0:
CMP A,#add_code
BNZ $Code_deal1
BR Add_deal
Code_deal1:
CMP A,#sub_code
BNZ $Code_deal2
BR Sub_deal
Code_deal2:
CMP A,#set_code
BNZ $Code_deal3
BR Set_deal
Code_deal3:
CMP A,#run_night_code
BZ $Run_in_night
BR Key_remote_deal_r
Onoff_deal:
BF first_pressed_f,$Onoff_deal0
BR Key_remote_deal_r
Onoff_deal0:
SET1 first_pressed_f
SET1 ring_f
CALL !Set_confirm
MOVW AX,#0
MOVW no_key_pressed_c,AX
XOR run_mode,#1
BR Key_remote_deal_r
Set_deal:
BF first_pressed_f,$Set_deal0
MOV A,key_pressed_c
CMP A,#100
BNC $Set_deal1
INC key_pressed_c
BR Key_remote_deal_r
Set_deal0:
SET1 first_pressed_f
SET1 ring_f
MOV flash_c,#0
MOVW AX,#0
MOVW no_key_pressed_c,AX
CALL !Buffer_select
BR Set_deal2
Set_deal1:
MOV key_pressed_c,#0
Set_deal2:
MOV A,set_flag
ROL A,1
CMP A,#10000000B
BNZ $Set_deal3
MOV A,#00000001B
Set_deal3:
MOV set_flag,A
CALL !Buffer_select_two
BR Key_remote_deal_r
Run_in_night:
BF first_pressed_f,$Run_in_night0
BR Key_remote_deal_r
Run_in_night0:
SET1 first_pressed_f
SET1 ring_f
CALL !Set_confirm
MOVW AX,#0
MOVW no_key_pressed_c,AX
BF run_in_night_f,$Run_in_night1
CLR1 run_in_night_f
MOV A,time_h
CMP A,#6
BC $Run_in_night00
BR Key_remote_deal_r
Run_in_night00:
CLR1 on_off_f
BR Key_remote_deal_r
Run_in_night1:
SET1 run_in_night_f
MOV A,time_h
CMP A,#6
BC $Run_in_night2
BR Key_remote_deal_r
Run_in_night2:
SET1 on_off_f
BR Key_remote_deal_r
Add_deal:
BF first_pressed_f,$Add_deal0
MOV A,set_flag
CMP A,#10000000B
BNZ $Add_deal_continue0
BR Key_remote_deal_r
Add_deal_continue0:
MOV A,key_pressed_c
CMP A,#100
BNC $Add_speedup
INC key_pressed_c
BR Key_remote_deal_r
Add_speedup:
MOV A,speedup_c
CMP A,#20
BNC $Add_speedup0
INC speedup_c
BR Key_remote_deal_r
Add_speedup0:
MOV speedup_c,#0
BR Add_deal1
Add_deal0:
SET1 first_pressed_f
MOV A,set_flag
CMP A,#10000000B
BNZ $Add_deal_continue
BT set_turnon_f,$Add_deal8
BR Key_remote_deal_r
Add_deal8:
CLR1 set_turnon_f
SET1 ring_f
MOVW AX,#0
MOVW no_key_pressed_c,AX
BR Key_remote_deal_r
Add_deal_continue:
SET1 ring_f
MOVW AX,#0
MOVW no_key_pressed_c,AX
Add_deal1:
SET1 value_change_f
BF tem_set_f,$Add_deal2
Add_tem:
MOV A,set_buffer
CMP A,#75
BNC $Add_tem0
MOV A,set_buffer
ADD A,#5
MOV set_buffer,A
BR Key_remote_deal_r
Add_tem0:
MOV set_buffer,#35
BR Key_remote_deal_r
Add_deal2:
BF time_h_set_f,$Add_deal3
Add_time_h:
MOV A,set_buffer
CMP A,#23
BNC $Add_time_h0
INC set_buffer
BR Key_remote_deal_r
Add_time_h0:
MOV set_buffer,#0
BR Key_remote_deal_r
Add_deal3:
BF time_m_set_f,$Add_deal4
Add_time_m:
MOV A,set_buffer
CMP A,#59
BNC $Add_time_m0
INC set_buffer
BR Key_remote_deal_r
Add_time_m0:
MOV set_buffer,#0
BR Key_remote_deal_r
Add_deal4:
BF turnon_h_set_f,$Add_deal5
BR Add_time_h
Add_deal5:
BF turnon_m_set_f,$Add_deal6
BR Add_time_m
Add_deal6:
BF turnoff_h_set_f,$Add_deal7
BR Add_time_h
Add_deal7:
BT turnoff_m_set_f,$Add_time_m
BR Key_remote_deal_r
Sub_deal:
BF first_pressed_f,$Sub_deal0
MOV A,set_flag
CMP A,#10000000B
BNZ $Sub_deal_continue0
BR Key_remote_deal_r
Sub_deal_continue0:
MOV A,key_pressed_c
CMP A,#100
BNC $Sub_speedup
INC key_pressed_c
BR Key_remote_deal_r
Sub_speedup:
MOV A,speedup_c
CMP A,#20
BNC $Sub_speedup0
INC speedup_c
BR Key_remote_deal_r
Sub_speedup0:
MOV speedup_c,#0
BR Sub_deal1
Sub_deal0:
SET1 first_pressed_f
MOV A,set_flag
CMP A,#10000000B
BNZ $Sub_deal_continue
BT set_turnoff_f,$Sub_deal8
BR Key_remote_deal_r
Sub_deal8:
CLR1 set_turnoff_f
SET1 ring_f
MOVW AX,#0
MOVW no_key_pressed_c,AX
BR Key_remote_deal_r
Sub_deal_continue:
SET1 ring_f
MOVW AX,#0
MOVW no_key_pressed_c,AX
Sub_deal1:
SET1 value_change_f
BF tem_set_f,$Sub_deal2
Sub_tem:
MOV A,set_buffer
CMP A,#35
BZ $Sub_tem0
MOV A,set_buffer
SUB A,#5
MOV set_buffer,A
BR Key_remote_deal_r
Sub_tem0:
MOV set_buffer,#75
BR Key_remote_deal_r
Sub_deal2:
BF time_h_set_f,$Sub_deal3
Sub_time_h:
MOV A,set_buffer
CMP A,#0
BZ $Sub_time_h0
DEC set_buffer
BR Key_remote_deal_r
Sub_time_h0:
MOV set_buffer,#23
BR Key_remote_deal_r
Sub_deal3:
BF time_m_set_f,$Sub_deal4
Sub_time_m:
MOV A,set_buffer
CMP A,#0
BZ $Sub_time_m0
DEC set_buffer
BR Key_remote_deal_r
Sub_time_m0:
MOV set_buffer,#59
BR Key_remote_deal_r
Sub_deal4:
BF turnon_h_set_f,$Sub_deal5
BR Sub_time_h
Sub_deal5:
BF turnon_m_set_f,$Sub_deal6
BR Sub_time_m
Sub_deal6:
BF turnoff_h_set_f,$Sub_deal7
BR Sub_time_h
Sub_deal7:
BT turnoff_m_set_f,$Sub_time_m
Key_remote_deal_r:
RET
;--------------------------------
Key_pressed_deal:
CLR1 set_by_remote_f
SET1 PMK0
MOV flash_c,#0
Key_pressed_deal_r:
RET
;--------------------------------
Buffer_select:
MOV A,set_buffer
BT tem_set_f,$Tem_buffer_select
BT time_h_set_f,$Time_set_h_select
BT time_m_set_f,$Time_set_m_select
BT turnon_h_set_f,$Set_turnon_h_select
BT turnon_m_set_f,$Set_turnon_m_select
BT turnoff_h_set_f,$Set_turnoff_h_select
BT turnoff_m_set_f,$Set_turnoff_m_select
BR Buffer_select_r
Tem_buffer_select:
MOV set_temp,A
CLR1 value_change_f
BR Buffer_select_r
Time_set_h_select:
XCH A,X
BT run_in_night_f,$Time_set_h_select0
BR Time_set_h_select1
Time_set_h_select0:
MOV A,time_h
CMP A,#6
BNC $Turnon_judge
MOV A,set_buffer
CMP A,#6
BNC $Turnoff_judge
BR Time_set_h_select1
Turnon_judge:
MOV A,set_buffer
CMP A,#6
BC $Turnon_judge0
BR Time_set_h_select1
Turnon_judge0:
SET1 turnon_f
BR Time_set_h_select1
Turnoff_judge:
SET1 turnoff_f
Time_set_h_select1:
XCH A,X
MOV time_h,A
CLR1 value_change_f
BR Buffer_select_r
Time_set_m_select:
MOV time_m,A
CLR1 value_change_f
BT turnon_f,$Time_set_m_select0
BT turnoff_f,$Time_set_m_select1
BR Buffer_select_r
Time_set_m_select0:
CLR1 turnon_f
SET1 on_off_f
BR Buffer_select_r
Time_set_m_select1:
CLR1 turnoff_f
CLR1 on_off_f
BR Buffer_select_r
Set_turnon_h_select:
MOV settime_on_h,A
BR Buffer_select_r
Set_turnon_m_select:
MOV settime_on_m,A
CALL !Set_turnon_judge
BR Buffer_select_r
Set_turnoff_h_select:
MOV settime_off_h,A
BR Buffer_select_r
Set_turnoff_m_select:
MOV settime_off_m,A
CALL !Set_turnoff_judge
Buffer_select_r:
RET
;--------------------------------
Buffer_select_two:
BT tem_set_f,$Tem_buffer_select_two
BT time_h_set_f,$Time_set_h_select_two
BT time_m_set_f,$Time_set_m_select_two
BT turnon_h_set_f,$Set_turnon_h_select_two
BT turnon_m_set_f,$Set_turnon_m_select_two
BT turnoff_h_set_f,$Set_turnoff_h_select_two
BT turnoff_m_set_f,$Set_turnoff_m_select_two
BR Buffer_select_two_r
Tem_buffer_select_two:
MOV A,set_temp
BR Buffer_select_two0
Time_set_h_select_two:
MOV A,time_h
BR Buffer_select_two0
Time_set_m_select_two:
MOV A,time_m
BR Buffer_select_two0
Set_turnon_h_select_two:
MOV A,settime_on_h
BR Buffer_select_two0
Set_turnon_m_select_two:
MOV A,settime_on_m
BR Buffer_select_two0
Set_turnoff_h_select_two:
MOV A,settime_off_h
BR Buffer_select_two0
Set_turnoff_m_select_two:
MOV A,settime_off_m
Buffer_select_two0:
MOV set_buffer,A
Buffer_select_two_r:
RET
;--------------------------------
Set_confirm: ;expect confirmation by setting key
MOV flash_c,#0
MOV A,set_buffer
BT tem_set_f,$Tem_set_confirm
BT time_h_set_f,$Time_set_h_confirm
BT time_m_set_f,$Time_set_m_confirm
BT turnon_h_set_f,$Set_turnon_h_confirm
BT turnon_m_set_f,$Set_turnon_m_confirm
BT turnoff_h_set_f,$Set_turnoff_h_confirm
BT turnoff_m_set_f,$Set_turnoff_m_confirm
BR Set_confirm_r
Tem_set_confirm:
MOV set_temp,A
BR Set_confirm0
Time_set_h_confirm:
XCH A,X
BF run_in_night_f,$Time_set_h_confirm0
MOV A,time_h
CMP A,#6
BNC $Turnon_judge_two
MOV A,set_buffer
CMP A,#6
BNC $Turnoff_judge_two
BR Time_set_h_confirm0
Turnon_judge_two:
MOV A,set_buffer
CMP A,#6
BC $Turnon_judge_two0
BR Time_set_h_confirm0
Turnon_judge_two0:
SET1 on_off_f
BR Time_set_h_confirm0
Turnoff_judge_two:
CLR1 on_off_f
Time_set_h_confirm0:
XCH A,X
MOV time_h,A
BR Set_confirm0
Time_set_m_confirm:
MOV time_m,A
BF run_in_night_f,$Set_confirm0
MOV A,time_h
CMP A,#6
BNC $Time_set_m_confirm0
SET1 on_off_f
BR Set_confirm0
Time_set_m_confirm0:
CLR1 on_off_f
BR Set_confirm0
Set_turnon_h_confirm:
MOV settime_on_h,A
CALL !Set_turnon_judge
BR Set_confirm0
Set_turnon_m_confirm:
MOV settime_on_m,A
CALL !Set_turnon_judge
BR Set_confirm0
Set_turnoff_h_confirm:
MOV settime_off_h,A
CALL !Set_turnoff_judge
BR Set_confirm0
Set_turnoff_m_confirm:
MOV settime_off_m,A
CALL !Set_turnoff_judge
Set_confirm0:
MOV set_flag,#10000000B
CLR1 value_change_f
Set_confirm_r:
RET
;--------------------------------
Set_turnon_judge:
BF value_change_f,$Set_turnon_judge_r
CLR1 value_change_f
; BF run_in_night_f,$Set_turnon_judge0
; MOV A,settime_on_h
; CMP A,#6
; BNZ $Set_turnon_judge0
; MOV A,settime_on_m
; CMP A,#0
; BNZ $Set_turnon_judge0
; CLR1 run_in_night_f
;Set_turnon_judge0:
BF set_turnoff_f,$Set_turnon_judge1
MOV A,settime_off_h
CMP A,settime_on_h
BNZ $Set_turnon_judge1
MOV A,settime_off_m
CMP A,settime_on_m
BNZ $Set_turnon_judge1
CLR1 set_turnoff_f
Set_turnon_judge1:
SET1 set_turnon_f
CLR1 on_off_f
Set_turnon_judge_r:
RET
;--------------------------------
Set_turnoff_judge:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -