📄 acm6501.asm
字号:
CLR1 OVERWARM5MY
MOV OVERWARM5MC,#0H
MOV OVERWARM5MC+1,#0H
OVERFAN1_1:
; SET1 HFAN
; CLR1 LFAN
; CLR1 MFAN
BR !OTHERRUN
;;;; BR !GOVANE
OVERWARM2:
; BT COMP5MF,$GOVANE_00
CLR1 COMP
CLR1 COMP5MF
CLR1 COMP5MY
CLR1 DEFROSTF ;OVERWARM WHEN DEFROST
CLR1 DEFRO1MY
CLR1 DEFRO1MF
MOV DEFRO1MC,#0H
MOV DEFROPIP,#0H
CLR1 TxF
CLR1 DEFRO8MFF
CLR1 DEFRO5MFF
CLR1 DEFRO3MFF
CLR1 DEFRO30SF
CLR1 QDEFRO30SF
CLR1 DEFRO8MF
MOV DEFRO30SC,#0H
MOV DEFRO8MC,#0H
MOV DEFRO8MC+1,#0H
CLR1 SEG27.0
CLR1 ACOFAN30SY
CLR1 ACOFAN30SF
MOV ACOFAN30SC,#0H
CLR1 COMP40MF
CLR1 OVERWARM5MF
MOV OVERWARM5MC,#0H
MOV OVERWARM5MC+1,#0H
SET1 P2F
SET1 VALVE1MF
BT COMP3MY,$GOVANE_00
BT COMP3MF,$GOVANE_00
SET1 COMP3MF
MOV COMP3MC,#0H
GOVANE_00: BR !OTHERRUN
;;;;; BR !GOVANE
QOVERWARM:
CMP PIPTEMP,#0F0H
BNC $PIPERRNOOV
CMP PIPTEMP,#49
BNC $NOQUITOW1
PIPERRNOOV: BF OVERWARMF,$NOOVERWARM
; SET1 OVERWARM1HF
CLR1 OVERWARMF
CLR1 P2F
CLR1 OVERWARM5MF
MOV OVERWARM5MC,#0H
MOV OVERWARM5MC+1,#0H
CLR1 VALVE1MF
MOV VALVE1MC,#0H
BR !GOVANE
NOQUITOW1: BF OVERWARMF,$NOOVERWARM
CLR1 VALVE1MF
MOV VALVE1MC,#0H
CLR1 OVERWARM5MF
MOV OVERWARM5MC,#0H
MOV OVERWARM5MC+1,#0H
BR !OTHERRUN
;;;; BR !GOVANE
NOOVERWARM:
BT COMP5MY,$SDJR_L
BT COMP5MF,$JUMP4
SET1 COMP5MF
MOV COMP5MC,#0H
MOV COMP5MC+1,#0H
JUMP4: BR !AGAINSTCOOLFAN
;WARMP3: CALL !P3DO
AGAINSTCOOLFAN: BT ACOFAN30SY,$SDJR_L ;AGAINST COOL FAN
SET1 ACOFAN30SF
SDJR_L: BR !SDJR
CONWARM30: BR !CONWARM3
CONWARM2: ;ROMTEMP<SET TEMP+1CONSTA4_0:
BT COMP5MF,$CONWARM30 ;CONTINUE OLD STATE
CONSTA1: CLR1 COMP
CLR1 EXTFAN
CLR1 ACOFAN30SY
CLR1 COMP40MF
CLR1 OVERWARMF
CLR1 P2F
CLR1 VALVE1MF
MOV VALVE1MC,#0H
BT COMP3MY,$CONSTA_1
BT COMP3MF,$CONSTA_1
SET1 COMP3MF
MOV COMP3MC,#0H
CONSTA_1: SET1 CUIYUREF
BT WARMFIRSTF,$COMPY1 ;CUIYURE
BT PIPERRF,$PIPERRNOCUI
CLR1 CUIYURE20SF
CLR1 CUIYURE20SY
MOV CUIYURE20SC,#0H
CMP PIPTEMP,#0F0H
BNC $COMPY1
CMP PIPTEMP,#28
BC $COMPY1
CMP PIPTEMP,#33
BC $CUIYURELFAN
CLR1 CUIYUREF
BR !SDJR
PIPERRNOCUI:
BT CUIYURE20SY,$COMPY1
SET1 CUIYURE20SF
BR !CUIYURELFAN
COMPY1:
CLR1 LFAN
CLR1 MFAN
CLR1 HFAN
SET1 WAITMCUF
BR !SDJR
CUIYURELFAN:
CLR1 WAITMCUF
SET1 SEG27.3
SET1 LFAN
CLR1 MFAN
CLR1 HFAN
SDJR:
BT HFAN,$DJR1
BT LFAN,$DJR1
BT MFAN,$DJR1
BR !NODJR
DJR1: BT SAUTOF,$NODJR
BT ROMERRF,$NODJR
BT PIPERRF,$NODJR
BF DJRF,$NODJR
BT DJR,$QUITDJR
CMP ROMTEMP,#0F0H
BNC $GODJR
CMP ROMTEMP,#18
BZ $GODJR1
BNC $NODJR
GODJR1: MOV A,ROMTEMP
ADD A,#03H
CMP A,TEMPBUF
BZ $GODJR
BNC $NODJR
GODJR:
CMP PIPTEMP,#0F0H
BNC $NODJR
CMP PIPTEMP,#50
BNC $NODJR
DJR3: SET1 DJR
; SET1 SEG27.6
BR !OTHERRUN
QUITDJR:
CMP ROMTEMP,#0F0H
BNC $QUITDJR1
CMP ROMTEMP,#20
BC $QUITDJR1
BR !NODJR
QUITDJR1: MOV A,ROMTEMP
INC A
CMP A,TEMPBUF
BC $QUITDJR2
BR !NODJR
QUITDJR2:
CMP PIPTEMP,#0F0H
BNC $NODJR
CMP PIPTEMP,#55
BC $OTHERRUN
NODJR: CLR1 DJR
; CLR1 SEG27.6
OTHERRUN:
BT CUIYUREF,$GOVANE ;CUI YU RE FAN
NOACOOLFAN: BT DEFROSTF,$GOVANE
;;;;; BT OVERWARMF,$GOVANE
BT P3F,$P3FAN
BT CUIYUREF,$GOVANE
BT ACOFAN30SF,$GOVANE
CLR1 WAITMCUF
SET1 SEG27.3
;;;;; BT AGFROSTF,$GOVANE
; BT SWARMF,$PECUIYURE
; BT SAUTOF,$PECUIYURE2
PECUIYURE1: CALL !NORFAN
BR !YESVANE
;PECUIYURE2: BF GOWARMF,$PECUIYURE1
;PECUIYURE: BF PIPERRF,$PECUIYURE1
P3FAN: SET1 LFAN
CLR1 MFAN
CLR1 HFAN
CLR1 WAITMCUF
SET1 SEG27.3
BR !GOVANE
AGFAN: SET1 LFAN
CLR1 MFAN
CLR1 HFAN
GOVANE: CALL !CLRAUTOFAN
YESVANE: BF SSLEEPF,$NOSLEEP
SET1 SEG27.2
RET
NOSLEEP: CLR1 SEG27.2
RET
;****************************COOL MODE***********************
SCOOL: CLR1 SEG25.3
CLR1 SEG25.0
CLR1 SEG25.1
CLR1 SEG27.7
SET1 SEG25.2
SCOOL0: CALL !AGFROSTDO
CALL !P3DO
BT SAUTOF,$GOAUTORERR
BF ROMERRF,$NOCOOLRERR
BF COOLT10MF,$COOLT50MOK
BR !OTHERRUN
COOLT50MOK: BF COMP,$COOLT50MOK1
SET1 COOLT50MF
BR !CONCOOL
COOLT50MOK1: CLR1 COOLT50MF
MOV COOLT10MC,#0H
MOV COOLT10MC+1,#0H
BR !CONCOOL
NOCOOLRERR: CLR1 COOLT10MF
CLR1 COOLT50MF
MOV COOLT10MC,#0H
MOV COOLT10MC+1,#0H
GOAUTORERR:
CMP ROMTEMP,#0F0H
BNC $HERE4
MOV A,TEMPBUF
CMP A,ROMTEMP
BZ $CONCOOL3
BC $CONCOOL
HERE4: BT COMP5MF,$CONCOOL3
CLR1 EXTFAN ;SET TEMP-1>=ROMTEMP
BF COMP,$CONCOOL3
CLR1 COMP
CLR1 AGFROST10MF
CLR1 AGFROST2MF
CLR1 AGFROST10MY
CLR1 AGFROST2MY
MOV AGFROST10MC,#0H
MOV AGFROST10MC+1,#0H
MOV AGFROST2MC,#0H
BT COMP3MY,$CONCOOL3
BT COMP3MF,$CONCOOL3
SET1 COMP3MF
MOV COMP3MC,#0H
CONCOOL3: BR !OTHERRUN
CONCOOL:
CONCOOL40: BT COMP3MF,$GOPIP0 ;SET TEMP+1<=ROMTEMP
BT VALOFF1MF,$CONCOOL2
BT AGFROSTF,$CONCOOL1
BT P5F,$CONCOOL1
SET1 COMP
SET1 EXTFAN
BT COMP5MY,$CONCOOL1
BT COMP5MF,$JUMP5
SET1 COMP5MF
MOV COMP5MC,#0H
MOV COMP5MC+1,#0H
JUMP5: BR !CONCOOL2
CONCOOL1: CALL !P3DO
CONCOOL2:
BT AGFROST10MY,$GOPIP0 ;AGAINST FROST
SET1 AGFROST10MF
GOPIP0: BT PIPERRF,$OTHERRUN0
CMP PIPTEMP,#0F0H
BNC $AGFROST
CLR1 AGFROST2MF
CLR1 AGFROST2MY
BR !OTHERRUN
AGFROST: BT AGFROST2MY,$OTHERRUN0
SET1 AGFROST2MF
BR !OTHERRUN
OTHERRUN0: BR !OTHERRUN
;********************VANE ON OR OFF****************
VANEDO:
BF SONF,$NODJRD1
BF DJRF,$NODJRD
SET1 SEG27.6
BR !NODJRD1
NODJRD: CLR1 SEG27.6
CLR1 DJR
NODJRD1:
BF SVANEF,$VANEDO1
BT LFAN,$VANEDO2
BT MFAN,$VANEDO2
BT HFAN,$VANEDO2
VANEDO1: CLR1 BFF
RET
VANEDO2: SET1 BFF
RET
;*********************VANE DISPLAY SUBROUTINE*******************
DISVANE:
BF SONF,$CLRALLV
BF SVANEF,$NOVANESEG
BT LTORF,$LTOR
DEC VANESEG
BNZ $GORTOL
SET1 LTORF
GORTOL: MOV A,VANESEG
CALL !VANELCD
MOV SEG19,A
DISVRET: RET
NOVANESEG:
MOV SEG19,#0FFH
RET
LTOR: INC VANESEG
CMP VANESEG,#04H
BNZ $GORTOL
CLR1 LTORF
BR !GORTOL
CLRALLV: MOV SEG19,#0H
RET
SUB4 CSEG UNIT
VANELCD:
MOV H,#05H
MOV L,A
MOV A,[HL]
RET
;*********************DISPLAY TEMP******************************
DISPTEMP:
BF DISTMP5SF,$DISPTMP1
SET1 SEG27.1
SET1 SEG21.6
BT SFANMF,$LDTEMP4
MOV A,SSTEMP
STAHEXD: MOV BCD,A
CALL !CHTOBCD
MOV
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -