📄 dispose1.asm
字号:
BORD_DISPOSE: JB RECE_BORD_FLAG,DISPOSE1
LJMP DISPOSE_QUIT
DISPOSE1: CLR RECE_BORD_FLAG
CLR F_REPEAT1
CLR F_REPEAT2
MOV ACK_COUNT,#00H
JNB F_ACK_WAIT,DISPOSE1X
MOV COUNT_BEE,#00H
SETB F_RESPONSE
CLR F_ACK_WAIT
DISPOSE1X: MOV A,RECE_LOW2
ANL A,#00000111B
MOV TEAM,A
MOV A,RECE_LOW2
RRC A
RRC A
RRC A
ANL A,#00011111B
MOV ROOM,A
MOV A,RECE_LOW3
SWAP A
ANL A,#0FH
MOV TYPE,A
MOV A,RECE_LOW1
MOV C,ACC.0
MOV F_CONTROL_STATE,C
RRC A
ANL A,#00001111B
MOV COMMAND,A
MOV A,COMMAND
XRL A,#00H
JZ DISPOSE2
LJMP DISPOSE_QUIT
;/////////////////////////////////////////////////////
; A TEAM ?
;/////////////////////////////////////////////////////
DISPOSE2:
MOV A,TYPE
XRL A,LOCAL_A_TYPE
JZ DISPOSE3
LJMP DISPOSE12 ;TYPE IS NOT SAME
DISPOSE3: MOV A,ROOM
XRL A,LOCAL_A_ROOM
JZ DISPOSE4
LJMP DISPOSE12
DISPOSE4: MOV A,TEAM
JNZ DISPOSE6
MOV A,LOCAL_A_TEAM
XRL A,#1
JZ DISPOSE5
LJMP DISPOSE12
DISPOSE5: LJMP DISPOSE8
DISPOSE6: MOV A,TEAM
XRL A,LOCAL_A_TEAM
JZ DISPOSE7
LJMP DISPOSE12
DISPOSE7: JB F_CONTROL_STATE,DISPOSE10
DISPOSE8: JB A_OFF_LEARNED,DISPOSE9
LJMP DISPOSE_QUIT ;A OFF KEY NOT LEARN
DISPOSE9:
MOV START_HIGH,#04H
MOV START_LOW,#20H
MOV STOP_LEARN,#08H
MOV ROOM,LOCAL_A_ROOM
MOV TYPE,LOCAL_A_TYPE
MOV TEAM,LOCAL_A_TEAM
LJMP DISPOSE42
DISPOSE10: JB A_ON_LEARNED,DISPOSE11
LJMP DISPOSE_QUIT ;A ON KEY NOT LEARN
DISPOSE11: MOV START_HIGH,#00H
MOV START_LOW,#20H
MOV STOP_LEARN,#04H
MOV ROOM,LOCAL_A_ROOM
MOV TYPE,LOCAL_A_TYPE
MOV TEAM,LOCAL_A_TEAM
LJMP DISPOSE42
;////////////////////////////////////////////////////////////////////
; B TEAM ?
;////////////////////////////////////////////////////////////////////
DISPOSE12:
MOV A,TYPE
XRL A,LOCAL_B_TYPE
JZ DISPOSE13
LJMP DISPOSE22 ;TYPE IS NOT SAME
DISPOSE13: MOV A,ROOM
XRL A,LOCAL_B_ROOM
JZ DISPOSE14
LJMP DISPOSE22
DISPOSE14: MOV A,TEAM
JNZ DISPOSE16
MOV A,LOCAL_B_TEAM
XRL A,#1
JZ DISPOSE15
LJMP DISPOSE22
DISPOSE15: LJMP DISPOSE18
DISPOSE16: MOV A,TEAM
XRL A,LOCAL_B_TEAM
JZ DISPOSE17
LJMP DISPOSE22
DISPOSE17: JB F_CONTROL_STATE,DISPOSE20
DISPOSE18: JB B_OFF_LEARNED,DISPOSE19
LJMP DISPOSE_QUIT ;B OFF KEY NOT LEARN
DISPOSE19:
MOV START_HIGH,#0CH
MOV START_LOW,#20H
MOV STOP_LEARN,#10H
MOV ROOM,LOCAL_B_ROOM
MOV TYPE,LOCAL_B_TYPE
MOV TEAM,LOCAL_B_TEAM
LJMP DISPOSE42
DISPOSE20: JB B_ON_LEARNED,DISPOSE21
LJMP DISPOSE_QUIT ;B ON KEY NOT LEARN
DISPOSE21: MOV START_HIGH,#08H
MOV START_LOW,#20H
MOV STOP_LEARN,#0CH
MOV ROOM,LOCAL_B_ROOM
MOV TYPE,LOCAL_B_TYPE
MOV TEAM,LOCAL_B_TEAM
LJMP DISPOSE42
;//////////////////////////////////////////////////////////////////
; C TEAM ?
;////////////////////////////////////////////////////////////////////
DISPOSE22:
MOV A,TYPE
XRL A,LOCAL_C_TYPE
JZ DISPOSE23
LJMP DISPOSE32 ;TYPE IS NOT SAME
DISPOSE23: MOV A,ROOM
XRL A,LOCAL_C_ROOM
JZ DISPOSE24
LJMP DISPOSE32
DISPOSE24: MOV A,TEAM
JNZ DISPOSE26
MOV A,LOCAL_C_TEAM
XRL A,#1
JZ DISPOSE25
LJMP DISPOSE32
DISPOSE25: LJMP DISPOSE28
DISPOSE26: MOV A,TEAM
XRL A,LOCAL_C_TEAM
JZ DISPOSE27
LJMP DISPOSE32
DISPOSE27: JB F_CONTROL_STATE,DISPOSE30
DISPOSE28: JB C_OFF_LEARNED,DISPOSE29
LJMP DISPOSE_QUIT ;C OFF KEY NOT LEARN
DISPOSE29:
MOV START_HIGH,#14H
MOV START_LOW,#20H
MOV STOP_LEARN,#18H
MOV ROOM,LOCAL_C_ROOM
MOV TYPE,LOCAL_C_TYPE
MOV TEAM,LOCAL_C_TEAM
LJMP DISPOSE42
DISPOSE30: JB C_ON_LEARNED,DISPOSE31
LJMP DISPOSE_QUIT ;C ON KEY NOT LEARN
DISPOSE31: MOV START_HIGH,#10H
MOV START_LOW,#20H
MOV STOP_LEARN,#14H
MOV ROOM,LOCAL_C_ROOM
MOV TYPE,LOCAL_C_TYPE
MOV TEAM,LOCAL_C_TEAM
LJMP DISPOSE42
;//////////////////////////////////////////////////////////////////
; D TEAM ?
;////////////////////////////////////////////////////////////////////
DISPOSE32:
MOV A,TYPE
XRL A,LOCAL_D_TYPE
JZ DISPOSE33
LJMP DISPOSE_QUIT ;TYPE IS NOT SAME
DISPOSE33: MOV A,ROOM
XRL A,LOCAL_D_ROOM
JZ DISPOSE34
LJMP DISPOSE_QUIT
DISPOSE34: MOV A,TEAM
JNZ DISPOSE36
MOV A,LOCAL_D_TEAM
XRL A,#1
JZ DISPOSE35
LJMP DISPOSE_QUIT
DISPOSE35: LJMP DISPOSE38
DISPOSE36: MOV A,TEAM
XRL A,LOCAL_D_TEAM
JZ DISPOSE37
LJMP DISPOSE_QUIT
DISPOSE37: JB F_CONTROL_STATE,DISPOSE40
DISPOSE38: JB D_OFF_LEARNED,DISPOSE39
LJMP DISPOSE_QUIT ;D OFF KEY NOT LEARN
DISPOSE39:
MOV START_HIGH,#1CH
MOV START_LOW,#20H
MOV STOP_LEARN,#20H
MOV ROOM,LOCAL_D_ROOM
MOV TYPE,LOCAL_D_TYPE
MOV TEAM,LOCAL_D_TEAM
LJMP DISPOSE42
DISPOSE40: JB D_ON_LEARNED,DISPOSE41
LJMP DISPOSE_QUIT ;D ON KEY NOT LEARN
DISPOSE41:
MOV START_HIGH,#18H
MOV START_LOW,#20H
MOV STOP_LEARN,#1CH
MOV ROOM,LOCAL_D_ROOM
MOV TYPE,LOCAL_D_TYPE
MOV TEAM,LOCAL_D_TEAM
DISPOSE42: MOV COMMAND,#1
LCALL GENERATE_COM
SETB F_SEND_RUNNING
JB F_SEND_RUNNING,$
LCALL SEND_IR
CLR F_CHANNEL_OCCUPY
DISPOSE_QUIT: RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -