📄 a915.asm
字号:
CP 9
JP NC,A0F9 ; 不小于,转
INC A
LD (WQ),A
JP A0FC
A0F5: CALL SIOTM1
LD A,6
LD (WQ),A
JP A0FC
A0F9: CALL SIO53
LD C,PL18
RES 7,C
CALL DISIO
LD C,PL19
RES 7,C
CALL DISIO
LD A,0
LD (WQ),A
A0FC: LD A,(ALM9D)
CP 0
RET Z
DEC A
LD (ALM9D),A
BIT 0,A
JP NZ,A0F1 ; 不等0,转
LD C,PL1
RES 7,C
CALL DISIO
RET
A0F1: LD C,PL1
CALL DISIO
RET
SIO53: RET
LD A,(W2)
CP 0
JP NZ,SIO531 ; 不等0,转
CALL ASIO
LD A,36H
OUT (TT4),A
LD A,52H
OUT (TT1),A
NOP
NOP
NOP
LD A,0
OUT (TT1),A
LD (W2),A
RET
SIO531: LD A,0
LD (W2),A
RET
PRO32B: CALL ALMO
CALL COMXD
CALL COMXE
CALL QE25 ;1992,8,26
RET
COMXD: RET
COMXE: RET
ALMWA: LD A,(TONEF)
ADD A,A
RET NZ
ALMWB: LD IX,ALMODS
LD (IX+0),45H
LD (IX+1),45H
LD (IX+2),2H
LD A,02
LD (ALMOP),A
XOR A
LD (ALMOPA),A
RET
ALMO: LD A,(WKK)
CP 0
RET NZ
LD A,(ALMOP)
LD B,A
ADD A,A
RET Z
LD A,(ALMOPB)
ADD A,0
JP NZ,ALMO1 ; 不等0,转
DEC B
LD A,B
LD (ALMOP),A
CALL Z,DRF532
RET Z
LD A,(ALMOPA)
ADD A,3
LD (ALMOPA),A
DEC A
LD C,A
LD B,0
LD HL,ALMODS
ADD HL,BC
LD A,(HL)
LD (ALMOPB),A
DEC HL
LD B,(HL)
DEC HL
LD C,(HL)
LD A,B
CP 0FFH
CALL Z,DRF532
CALL NZ,DRW532
RET
ALMO1: DEC A
LD (ALMOPB),A
RET
DRF532: LD A,TTC2
OUT (TT4),A
RET
DRW532: LD A,TTC2
OUT (TT4),A
LD C,A
OUT (TT3),A
LD A,B
OUT (TT3),A
RET
ALMWC: LD A,(TONEF)
ADD A,A
RET NZ
ALMWD: LD IX,ALMODS
LD A,09
LD (ALMOP),A
XOR A
LD (ALMOPA),A
LD (IX+0),04H
LD (IX+1),36H
LD (IX+2),0AH
LD (IX+3),26H
LD (IX+4),26H
LD (IX+5),0AH
LD (IX+6),0FFH
LD (IX+7),0FFH
LD (IX+8),10H
LD (IX+9),04H
LD (IX+0AH),36H
LD (IX+0BH),0AH
LD (IX+0CH),26H
LD (IX+0DH),26H
LD (IX+0EH),0AH
LD (IX+0FH),0FFH
LD (IX+10H),0FFH
LD (IX+11H),10H
LD (IX+12H),04H
LD (IX+13H),36H
LD (IX+14H),0AH
LD (IX+15H),26H
LD (IX+16H),26H
LD (IX+17H),0AH
LD (IX+18H),0FFH
LD (IX+19H),0FFH
LD (IX+1AH),10H
RET
ALMWE: LD A,(TONEF)
ADD A,A
RET NZ
ALMWF: LD IX,ALMODS
LD A,04
LD (ALMOP),A
XOR A
LD (ALMOPA),A
LD (ALMOPA),A
LD (IX+0),45H
LD (IX+1),45H
LD (IX+2),09H
LD (IX+3),08H
LD (IX+4),36H
LD (IX+5),09
LD (IX+6),34H
LD (IX+7),30H
LD (IX+8),09H
LD (IX+9),0FFH
LD (IX+0AH),0FFH
LD (IX+0BH),09H
RET
ALMWH: LD A,(TONEF)
ADD A,A
RET NZ
ALMWI: LD IX,ALMODS
LD A,08H
LD (ALMOP),A
XOR A
LD (ALMOPA),A
LD (IX+0),45H
LD (IX+1),45H
LD (IX+2),20H
LD (IX+3),08H
LD (IX+4),36H
LD (IX+5),20H
LD (IX+6),34H
LD (IX+7),30H
LD (IX+8),20H
LD (IX+9),72H
LD (IX+0AH),22H
LD (IX+0BH),20H
LD (IX+0CH),34H
LD (IX+0DH),30H
LD (IX+0EH),20H
LD (IX+0FH),08H
LD (IX+10H),36H
LD (IX+11H),20H
LD (IX+12H),45H
LD (IX+13H),45H
LD (IX+14H),20H
LD (IX+15H),0FFH
LD (IX+16H),0FFH
LD (IX+17H),02H
LD (IX+18H),0FFH
LD (IX+19H),0FFH
LD (IX+1AH),02H
RET
ALMWJ: LD A,(TONEF)
ADD A,A
RET NZ
ALMWK: LD IX,ALMODS
LD A,06H
LD (ALMOP),A
XOR A
LD (ALMOPA),A
LD (IX+0),26H
LD (IX+1),26H
LD (IX+2),05
LD (IX+3),0FFH
LD (IX+4),0FFH
LD (IX+3),03
LD (IX+6),26H
LD (IX+7),26H
LD (IX+8),05
LD (IX+9),0FFH
LD (IX+0AH),0FFH
LD (IX+0BH),03
LD (IX+0CH),26H
LD (IX+0DH),26H
LD (IX+0EH),05
LD (IX+0FH),0FFH
LD (IX+10H),0FFH
LD (IX+11H),03
RET
Q135: LD DE,ALMODS
LD A,20
LD (ALMOP),A
XOR A
LD (ALMOPA),A
LD HL,WQ135
LD BC,60
LDIR
RET
WQ135: DB 15H,15H,5,0FFH,0FFH,05,17H,17H,5,0FFH,0FFH,5
DB 15H,15H,5,0FFH,0FFH,05,17H,17H,5,0FFH,0FFH,5
DB 15H,15H,5,0FFH,0FFH,05,17H,17H,5,0FFH,0FFH,5
DB 15H,15H,5,0FFH,0FFH,05,17H,17H,5,0FFH,0FFH,5
DB 15H,15H,5,0FFH,0FFH,05,17H,17H,5,0FFH,0FFH,5
ALMWL: LD A,(TONEF)
ADD A,A
RET NZ
ALMWM: LD IX,ALMODS
LD A,0BH
LD (ALMOP),A
XOR A
LD (ALMOPA),A
LD (IX+0),45H
LD (IX+1),45H
LD (IX+2),0AH
LD (IX+3),0FFH
LD (IX+4),0FFH
LD (IX+5),0AH
LD (IX+6),45H
LD (IX+7),45H
LD (IX+8),0AH
LD (IX+9),0FFH
LD (IX+0AH),0FFH
LD (IX+0BH),0AH
LD (IX+0CH),45H
LD (IX+0DH),45H
LD (IX+0EH),0AH
LD (IX+0FH),0FFH
LD (IX+10H),0FFH
LD (IX+11H),0AH
LD (IX+12H),45H
LD (IX+13H),45H
LD (IX+14H),0AH
LD (IX+15H),0FFH
LD (IX+16H),0FFH
LD (IX+17H),0AH
LD (IX+18H),45H
LD (IX+19H),45H
LD (IX+1AH),0AH
LD (IX+1BH),0FFH
LD (IX+1CH),0FFH
LD (IX+1DH),0AH
LD (IX+1EH),0FFH
LD (IX+1FH),0FFH
LD (IX+20H),0AH
RET
ALMWN: LD A,(TONEF)
ADD A,A
RET NZ
ALMWO: PUSH IX
LD IX,ALMODS
LD A,04
LD (ALMOP),A
XOR A
LD (ALMOPA),A
LD (IX+0),08H
LD (IX+1),36H
LD (IX+2),04H
LD (IX+3),0FFH
LD (IX+4),0FFH
LD (IX+5),04H
LD (IX+6),45H
LD (IX+7),45H
LD (IX+8),4H
POP IX
RET
KEYLA: CALL KEYIN
CP 0FFH
RET Z
PUSH AF
CALL ALMWA
POP AF
CP 0AH
JP NC,KEYL1 ; 不小于,转
PUSH AF
CALL DISPL
POP AF
LD B,A
LD A,(STABS)
CP 03
JP NZ,KEYLA2 ; 不等,转
CALL KEYLT
RET
KEYLA2: CALL KEYL
RET
KEYL1: CALL KEYLL
CP 0
RET NC
CALL ALMUJ
RET
ALMUA: RET
DISPL: LD B,A
CP 0AH
JP NC,DISPL1 ; 不小于,转
ADD A,30H
CALL DIS1
RET
DISPL1: CALL NBCD
RET
CLB: LD A,0
OUT (PC2),A
LD A,(WADD)
CP 80H
JP Z,CL201 ; 等于,转
JP C,CL201 ; 小于,转
DEC A
LD (WADD),A
PUSH AF
LD A,(KAB1+16)
DEC A
LD (KAB1+16),A
POP AF
CL202: OUT (PB2),A
NOP
LD A,10H
OUT (PC2),A
NOP
NOP
NOP
NOP
NOP
NOP
LD A,0
OUT (PC2),A
NOP
NOP
NOP
NOP
LD A,08
OUT (PC2),A
NOP
LD A,20H
OUT (PB2),A
NOP
LD A,18H
OUT (PC2),A
NOP
NOP
NOP
NOP
NOP
NOP
LD A,08
OUT (PC2),A
NOP
NOP
LD A,0
OUT (PC2),A
LD A,(WADD)
OUT (PB2),A
LD A,10H
OUT (PC2),A
CALL STOP1
LD A,0
OUT (PC2),A
RET
CL201: LD A,80H
LD (WADD),A
LD A,0
OUT (PC2),A
LD A,(WADD)
CALL CL202
RET
ADDS: PUSH AF
LD A,0
OUT (PC2),A
LD A,(WADD)
OUT (PB2),A
LD A,10H
OUT (PC2),A
NOP
NOP
NOP
LD A,0
OUT (PC2),A
LD A,(WADD)
INC A
LD (WADD),A
CP 90H
JP C,ADDS1 ; 小于,转
LD A,80H
LD (WADD),A
ADDS1: NOP
POP AF
RET
DIS1: CALL ADDS
DIS11: LD B,A
LD A,08
OUT (PC2),A
LD A,B
OUT (PB2),A
LD A,18H
OUT (PC2),A
CALL STOP3
LD A,08
OUT (PC2),A
LD A,0
OUT (PC2),A
RET
DIS2: LD A,08
OUT (PC2),A
NOP
LD A,E
OUT (PB2),A
NOP
LD A,18H
OUT (PC2),A
NOP
NOP
NOP
NOP
NOP
NOP
LD A,08
OUT (PC2),A
NOP
LD A,0
OUT (PC2),A
RET
STOP3: LD A,1
STOP31: NOP
DEC A
JP NZ,STOP31 ; 不等0,转
RET
NBCD: LD D,0
NBCD0: CP 0AH
JP C,NBCD1 ; 小于,转
SUB 0AH
INC D
JP NBCD0
NBCD1: LD B,A
LD A,D
ADD A,30H
CALL DIS1
LD A,B
ADD A,30H
CALL DIS1
RET
KEYL: PUSH IX
PUSH BC
PUSH DE
LD D,B
LD IX,KAB1
LD A,(IX+16)
CP 16
JP C,KEYLX ; 小于,转
POP DE
POP BC
POP IX
RET
KEYLX: LD C,A
INC (IX+16)
LD B,0
ADD IX,BC
LD (IX),D
POP DE
POP BC
POP IX
RET
KEYLT: CALL KEYL
LD IY,SIOW
LD (IY),4
LD (IY+1),0FFH
LD (IY+2),09
LD (IY+3),0
LD A,(KAB1+16)
DEC A
LD C,A
LD HL,KAB1
LD B,0
ADD HL,BC
LD A,(HL)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -