📄 scankr.asm
字号:
;/
;/ File name =SCANKR.ASM
;/ 设计 何风涛
$include(SCANKR.H)
extrn YXBUF0
extrn YXBUF1
extrn SoeBuf
extrn BvBuf
extrn Sys_Month: BYTE
extrn Sys_Year: BYTE
extrn LCD_Device:null
extrn LCD_Write: null
extrn COM_Device_Task:null
PUBLIC SCANKR
CSEG
SCANKR: ECALL COM_Device_Task;
ECALL LCD_Device;
LDB WSR, #WSR_380H_3FFH;
JBC XM0FullFlag,0H,XMNEXT; ;5/9T
XMBUF0: LD Y_ADR, #lsw YXBUF0;
LD Y_ADR+2, #msw YXBUF0;
LDB XMLOOP, #100;
LDB XMTYPE, #0;
SJMP XMSTART;
XMNEXT: JBS XM1FullFlag,0H,XMBUF1; ;5/9T
LDB WSR, #WSR_080H_0FFH;
RET;
XMBUF1: LD Y_ADR, #lsw YXBUF1;
LD Y_ADR+2, #msw YXBUF1;
LDB XMLOOP, #100;
LDB XMTYPE, #1;
XMSTART: ELD NEW00, [Y_ADR]+; ;9T
ELD NEW02, [Y_ADR]+; ;9T
ELD NEW04, [Y_ADR]+; ;9T
ELD NEW06, [Y_ADR]+; ;9T
ELD NEW08, [Y_ADR]+; ;9T
ELD NEW10, [Y_ADR]+; ;9T
ELD NEW12, [Y_ADR]+; ;9T
ELD NEW14, [Y_ADR]+; ;9T
ELD NEW16, [Y_ADR]+; ;9T
ELD NEW18, [Y_ADR]+; ;9T
ELD NEW20, [Y_ADR]+; ;9T
ELD NEW22, [Y_ADR]+; ;9T
ELD NEW24, [Y_ADR]+; ;9T
ELD NEW26, [Y_ADR]+; ;9T
ELD NEW28, [Y_ADR]+; ;9T
ELD ST_MSL, [Y_ADR]+; ;9T
ELD ST_SEC, [Y_ADR]+; ;9T
ELD ST_HOU, [Y_ADR]+; ;9T
LD CHG00, NEW00; ;9T
LD CHG02, NEW02; ;9T
LD CHG04, NEW04; ;9T
LD CHG06, NEW06; ;9T
LD CHG08, NEW08; ;9T
LD CHG10, NEW10; ;9T
LD CHG12, NEW12; ;9T
LD CHG14, NEW14; ;9T
LD CHG16, NEW16; ;9T
LD CHG18, NEW18; ;9T
LD CHG20, NEW20; ;9T
LD CHG22, NEW22; ;9T
LD CHG24, NEW24; ;9T
LD CHG26, NEW26; ;9T
LD CHG28, NEW28; ;9T
XOR CHG00, LAST00; ;9T
XOR CHG02, LAST02; ;9T
XOR CHG04, LAST04; ;9T
XOR CHG06, LAST06; ;9T
XOR CHG08, LAST08; ;9T
XOR CHG10, LAST10; ;9T
XOR CHG12, LAST12; ;9T
XOR CHG14, LAST14; ;9T
XOR CHG16, LAST16; ;9T
XOR CHG18, LAST18; ;9T
XOR CHG20, LAST20; ;9T
XOR CHG22, LAST22; ;9T
XOR CHG24, LAST24; ;9T
XOR CHG26, LAST26; ;9T
XOR CHG28, LAST28; ;9T
;--------------------------YX--000-----------------------------
LDB BFLAG, yx_num[0];
JBS BFLAG, 0H, YX000;
EJMP YM120;
;--------------------------YX--000-----------------------------
YX000: JBS YSFG00, 0H,YS000; ;5/9 /* 遥信设置 */
YY000: JBS CHG00, 0H,GK000; ;5/9T
SJMP YX001; ;7T
GK000: ST ST_MSL, ST_MSL_000[0]; ;10T
ST ST_SEC, ST_SEC_000[0]; ;10T
ST ST_HOU, ST_HOU_000[0]; ;10T
ORB YSFG00, #001H; ;4T
ST R0, JGTM000[0]; ;10T
SJMP YX001; ;7T
YS000: LD AX, JGTM000[0]; ;10T /* 遥信开关动作状态 */
INC AX; ;3T
ST AX, JGTM000[0]; ;10T
JBS CHG00,0H,YE000; ;5T/9T 遥信开关复归
DT000: LD BX, BVTM000[0]; ;10T /* 遥信开关静止 */
CMP AX,BX; ;4T
JC YC000; AX>=BX ;C=1; ;4T/8T
SJMP YX001; ;7T
YC000: LDB BXL, YXBUF00; ;10T
LDB AXL, #000; ;10T
LDB AXH, KGBF00[0]; ;10T
JBC AXH, 0H, KH000; ;5T/9T
KF000: JBS NEW00, 0H, NH000; ;5/9 /* 常开开关 */
SJMP NF000; ;7T
KH000: JBS NEW00, 0H, NF000; ;5/9 /* 常闭开关 */
NH000: ORB BXL, #001H;
LDB AXH, #0F0H;
SJMP FX000; ;7T
NF000: ANDB BXL, #0FEH;
LDB AXH, #070H;
FX000: STB BXL, YXBUF00;
LDB BXL, SOEPM00[0]; ;10T
JBS BXL, 0H,YE000;
LD BX, ST_MSL_000[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_SEC_000[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_HOU_000[0]; ;10T
EST BX, [YSIPR]+; ;8T
EST AX, [YSIPR]+; ;8T
EST Sys_Month,[YSIPR]+; ;8T
LD AX, YSCON[0];
CMP AX, #999;
BNH PT000;
CLR AX;
LD YSIPR, #lsw SoeBuf;
LD YSIPR+2, #msw SoeBuf;
PT000: INC AX; ;3T
ST AX, YSCON[0];
YE000: ANDB YSFG00, #0FEH; ;4T
;--------------------------YX--001-----------------------------
YX001: JBS YSFG00, 1H,YS001; ;5/9 /* 遥信设置 */
YY001: JBS CHG00, 1H,GK001; ;5/9T
SJMP YX002; ;7T
GK001: ST ST_MSL, ST_MSL_001[0]; ;10T
ST ST_SEC, ST_SEC_001[0]; ;10T
ST ST_HOU, ST_HOU_001[0]; ;10T
ORB YSFG00, #002H; ;4T
ST R0, JGTM001[0]; ;10T
SJMP YX002; ;7T
YS001: LD AX, JGTM001[0]; ;10T /* 遥信开关动作状态 */
INC AX; ;3T
ST AX, JGTM001[0]; ;10T
JBS CHG00,1H,YE001; ;5T/9T 遥信开关复归
DT001: LD BX, BVTM001[0]; ;10T /* 遥信开关静止 */
CMP AX,BX; ;4T
JC YC001; AX>=BX ;C=1; ;4T/8T
SJMP YX002; ;7T
YC001: LDB BXL, YXBUF00; ;10T
LDB AXL, #001; ;10T
LDB AXH, KGBF00[0]; ;10T
JBC AXH, 1H, KH001; ;5T/9T
KF001: JBS NEW00, 1H, NH001; ;5/9 /* 常开开关 */
SJMP NF001; ;7T
KH001: JBS NEW00, 1H, NF001; ;5/9 /* 常闭开关 */
NH001: ORB BXL, #002H;
LDB AXH, #0F0H;
SJMP FX001; ;7T
NF001: ANDB BXL, #0FDH;
LDB AXH, #070H;
FX001: STB BXL, YXBUF00;
LDB BXL, SOEPM00[0]; ;10T
JBS BXL, 1H,YE001;
LD BX, ST_MSL_001[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_SEC_001[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_HOU_001[0]; ;10T
EST BX, [YSIPR]+; ;8T
EST AX, [YSIPR]+; ;8T
EST Sys_Month,[YSIPR]+; ;8T
LD AX, YSCON[0];
CMP AX, #999;
BNH PT001;
CLR AX;
LD YSIPR, #lsw SoeBuf;
LD YSIPR+2, #msw SoeBuf;
PT001: INC AX; ;3T
ST AX, YSCON[0];
YE001: ANDB YSFG00, #0FDH; ;4T
;--------------------------YX--002-----------------------------
YX002: JBS YSFG00, 2H,YS002; ;5/9 /* 遥信设置 */
YY002: JBS CHG00, 2H,GK002; ;5/9T
SJMP YX003; ;7T
GK002: ST ST_MSL, ST_MSL_002[0]; ;10T
ST ST_SEC, ST_SEC_002[0]; ;10T
ST ST_HOU, ST_HOU_002[0]; ;10T
ORB YSFG00, #004H; ;4T
ST R0, JGTM002[0]; ;10T
SJMP YX003; ;7T
YS002: LD AX, JGTM002[0]; ;10T /* 遥信开关动作状态 */
INC AX; ;3T
ST AX, JGTM002[0]; ;10T
JBS CHG00,2H,YE002; ;5T/9T 遥信开关复归
DT002: LD BX, BVTM002[0]; ;10T /* 遥信开关静止 */
CMP AX,BX; ;4T
JC YC002; AX>=BX ;C=1; ;4T/8T
SJMP YX003; ;7T
YC002: LDB BXL, YXBUF00; ;10T
LDB AXL, #002; ;10T
LDB AXH, KGBF00[0]; ;10T
JBC AXH, 2H, KH002; ;5T/9T
KF002: JBS NEW00, 2H, NH002; ;5/9 /* 常开开关 */
SJMP NF002; ;7T
KH002: JBS NEW00, 2H, NF002; ;5/9 /* 常闭开关 */
NH002: ORB BXL, #004H;
LDB AXH, #0F0H;
SJMP FX002; ;7T
NF002: ANDB BXL, #0FBH;
LDB AXH, #070H;
FX002: STB BXL, YXBUF00;
LDB BXL, SOEPM00[0]; ;10T
JBS BXL, 2H,YE002;
LD BX, ST_MSL_002[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_SEC_002[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_HOU_002[0]; ;10T
EST BX, [YSIPR]+; ;8T
EST AX, [YSIPR]+; ;8T
EST Sys_Month,[YSIPR]+; ;8T
LD AX, YSCON[0];
CMP AX, #999;
BNH PT002;
CLR AX;
LD YSIPR, #lsw SoeBuf;
LD YSIPR+2, #msw SoeBuf;
PT002: INC AX; ;3T
ST AX, YSCON[0];
YE002: ANDB YSFG00, #0FBH; ;4T
;--------------------------YX--003-----------------------------
YX003: JBS YSFG00, 3H,YS003; ;5/9 /* 遥信设置 */
YY003: JBS CHG00, 3H,GK003; ;5/9T
SJMP YX004; ;7T
GK003: ST ST_MSL, ST_MSL_003[0]; ;10T
ST ST_SEC, ST_SEC_003[0]; ;10T
ST ST_HOU, ST_HOU_003[0]; ;10T
ORB YSFG00, #008H; ;4T
ST R0, JGTM003[0]; ;10T
SJMP YX004; ;7T
YS003: LD AX, JGTM003[0]; ;10T /* 遥信开关动作状态 */
INC AX; ;3T
ST AX, JGTM003[0]; ;10T
JBS CHG00,3H,YE003; ;5T/9T 遥信开关复归
DT003: LD BX, BVTM003[0]; ;10T /* 遥信开关静止 */
CMP AX,BX; ;4T
JC YC003; AX>=BX ;C=1; ;4T/8T
SJMP YX004; ;7T
YC003: LDB BXL, YXBUF00; ;10T
LDB AXL, #003; ;10T
LDB AXH, KGBF00[0]; ;10T
JBC AXH, 3H, KH003; ;5T/9T
KF003: JBS NEW00, 3H, NH003; ;5/9 /* 常开开关 */
SJMP NF003; ;7T
KH003: JBS NEW00, 3H, NF003; ;5/9 /* 常闭开关 */
NH003: ORB BXL, #008H;
LDB AXH, #0F0H;
SJMP FX003; ;7T
NF003: ANDB BXL, #0F7H;
LDB AXH, #070H;
FX003: STB BXL, YXBUF00;
LDB BXL, SOEPM00[0]; ;10T
JBS BXL, 3H,YE003;
LD BX, ST_MSL_003[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_SEC_003[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_HOU_003[0]; ;10T
EST BX, [YSIPR]+; ;8T
EST AX, [YSIPR]+; ;8T
EST Sys_Month,[YSIPR]+; ;8T
LD AX, YSCON[0];
CMP AX, #999;
BNH PT003;
CLR AX;
LD YSIPR, #lsw SoeBuf;
LD YSIPR+2, #msw SoeBuf;
PT003: INC AX; ;3T
ST AX, YSCON[0];
YE003: ANDB YSFG00, #0F7H; ;4T
;--------------------------YX--004-----------------------------
YX004: JBS YSFG00, 4H,YS004; ;5/9 /* 遥信设置 */
YY004: JBS CHG00, 4H,GK004; ;5/9T
SJMP YX005; ;7T
GK004: ST ST_MSL, ST_MSL_004[0]; ;10T
ST ST_SEC, ST_SEC_004[0]; ;10T
ST ST_HOU, ST_HOU_004[0]; ;10T
ORB YSFG00, #010H; ;4T
ST R0, JGTM004[0]; ;10T
SJMP YX005; ;7T
YS004: LD AX, JGTM004[0]; ;10T /* 遥信开关动作状态 */
INC AX; ;3T
ST AX, JGTM004[0]; ;10T
JBS CHG00,4H,YE004; ;5T/9T 遥信开关复归
DT004: LD BX, BVTM004[0]; ;10T /* 遥信开关静止 */
CMP AX,BX; ;4T
JC YC004; AX>=BX ;C=1; ;4T/8T
SJMP YX005; ;7T
YC004: LDB BXL, YXBUF00; ;10T
LDB AXL, #004; ;10T
LDB AXH, KGBF00[0]; ;10T
JBC AXH, 4H, KH004; ;5T/9T
KF004: JBS NEW00, 4H, NH004; ;5/9 /* 常开开关 */
SJMP NF004; ;7T
KH004: JBS NEW00, 4H, NF004; ;5/9 /* 常闭开关 */
NH004: ORB BXL, #010H;
LDB AXH, #0F0H;
SJMP FX004; ;7T
NF004: ANDB BXL, #0EFH;
LDB AXH, #070H;
FX004: STB BXL, YXBUF00;
LDB BXL, SOEPM00[0]; ;10T
JBS BXL, 4H,YE004;
LD BX, ST_MSL_004[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_SEC_004[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_HOU_004[0]; ;10T
EST BX, [YSIPR]+; ;8T
EST AX, [YSIPR]+; ;8T
EST Sys_Month,[YSIPR]+; ;8T
LD AX, YSCON[0];
CMP AX, #999;
BNH PT004;
CLR AX;
LD YSIPR, #lsw SoeBuf;
LD YSIPR+2, #msw SoeBuf;
PT004: INC AX; ;3T
ST AX, YSCON[0];
YE004: ANDB YSFG00, #0EFH; ;4T
;--------------------------YX--005-----------------------------
YX005: JBS YSFG00, 5H,YS005; ;5/9 /* 遥信设置 */
YY005: JBS CHG00, 5H,GK005; ;5/9T
SJMP YX006; ;7T
GK005: ST ST_MSL, ST_MSL_005[0]; ;10T
ST ST_SEC, ST_SEC_005[0]; ;10T
ST ST_HOU, ST_HOU_005[0]; ;10T
ORB YSFG00, #020H; ;4T
ST R0, JGTM005[0]; ;10T
SJMP YX006; ;7T
YS005: LD AX, JGTM005[0]; ;10T /* 遥信开关动作状态 */
INC AX; ;3T
ST AX, JGTM005[0]; ;10T
JBS CHG00,5H,YE005; ;5T/9T 遥信开关复归
DT005: LD BX, BVTM005[0]; ;10T /* 遥信开关静止 */
CMP AX,BX; ;4T
JC YC005; AX>=BX ;C=1; ;4T/8T
SJMP YX006; ;7T
YC005: LDB BXL, YXBUF00; ;10T
LDB AXL, #005; ;10T
LDB AXH, KGBF00[0]; ;10T
JBC AXH, 5H, KH005; ;5T/9T
KF005: JBS NEW00, 5H, NH005; ;5/9 /* 常开开关 */
SJMP NF005; ;7T
KH005: JBS NEW00, 5H, NF005; ;5/9 /* 常闭开关 */
NH005: ORB BXL, #020H;
LDB AXH, #0F0H;
SJMP FX005; ;7T
NF005: ANDB BXL, #0DFH;
LDB AXH, #070H;
FX005: STB BXL, YXBUF00;
LDB BXL, SOEPM00[0]; ;10T
JBS BXL, 5H,YE005;
LD BX, ST_MSL_005[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_SEC_005[0]; ;10T
EST BX, [YSIPR]+; ;8T
LD BX, ST_HOU_005[0]; ;10T
EST BX, [YSIPR]+; ;8T
EST AX, [YSIPR]+; ;8T
EST Sys_Month,[YSIPR]+; ;8T
LD AX, YSCON[0];
CMP AX, #999;
BNH PT005;
CLR AX;
LD YSIPR, #lsw SoeBuf;
LD YSIPR+2, #msw SoeBuf;
PT005: INC AX; ;3T
ST AX, YSCON[0];
YE005: ANDB YSFG00, #0DFH; ;4T
;--------------------------YX--006-----------------------------
YX006: JBS YSFG00, 6H,YS006; ;5/9 /* 遥信设置 */
YY006: JBS CHG00, 6H,GK006; ;5/9T
SJMP YX007; ;7T
GK006: ST ST_MSL, ST_MSL_006[0]; ;10T
ST ST_SEC, ST_SEC_006[0]; ;10T
ST ST_HOU, ST_HOU_006[0]; ;10T
ORB YSFG00, #040H; ;4T
ST R0, JGTM006[0]; ;10T
SJMP YX007; ;7T
YS006: LD AX, JGTM006[0]; ;10T /* 遥信开关动作状态 */
INC AX; ;3T
ST AX, JGTM006[0]; ;10T
JBS CHG00,6H,YE006; ;5T/9T 遥信开关复归
DT006: LD BX, BVTM006[0]; ;10T /* 遥信开关静止 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -