⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a915.asm

📁 高质量的汇编程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        CP      0FFH
        RET     NZ
        LD      (SIORD),A
        LD      A,01
        LD      (SIORDP),A
        RET
SIORE1: LD      HL,SIORD
        LD      C,A
        LD      B,0
        ADD     HL,BC
        LD      (HL),E
        INC     C
        LD      A,C
        LD      (SIORDP),A
        LD      C,PL18
        CALL    DISIO
        LD      A,(SIORDP)
        CP      8
        JP      Z,KED251        ; 等于,转
        CP      18
        JP      Z,SED251        ; 等于,转
        CP      6
        JP      Z,SDP           ; 等于,转
        CP      5
        JP      C,SIORE4        ; 小于,转
        LD      A,(SIORD+1)
        CP      30H
        RET     Z
        CP      31H
        RET     Z
        CP      0FH             ;1992,6,29
        RET     Z               ;1992,6,29
        LD      A,0
        LD      (SIORDP),A
        RET
SIORE4: CP      4
        RET     C
        LD      A,(SIORD+1)
        CP      30H
        RET     Z
        CP      31H
        RET     Z
        CP      0FH             ;1992,6,29
        RET     Z               ;1992,6,29
        CP      10H
        JP      NC,SIO1E        ; 不小于,转
SIO0E:  LD      HL,SIORD+1
        LD      A,(SIORDP)
        DEC     A
        LD      C,A
        LD      B,0
        ADD     A,A
        LD      (DISW),A
        LD      DE,DISW+1
        LDIR
        CALL    COMR4
        RET
SIO1E:  LD      A,(SIORD+1)                     ;1992,8,29+++++
        CP      17H
        JP      NC,SIO1E1       ; 不小于,转
        ADD     A,18H
        LD      (SIORD+1),A
        JP      SIO1E0
SIO1E1: CP      80H
        JP      C,SIO1E0        ; 小于,转
        CP      0BFH
        JP      NC,SIO1E0       ; 不小于,转
        SUB     40H
        LD      (SIORD+1),A
SIO1E0: CALL    COMR4
        RET                     ;1992,8,29
SDP:    LD      A,(SIORD+1)             ;1992,7,4++++
        CP      30H
        RET     Z
        CP      31H
        RET     Z
        CP      0FH
        JP      NZ,SDP1         ;  不等0F,转
        LD      A,(SDPW)
        CP      17H
        JP      Z,SDP2          ; 等于,转
        CP      71H
        JP      NZ,SDP3         ;  不等71,转
        CALL    SSD25
        LD      A,0
        LD      (SIORDP),A
        RET
SDP1:   LD      A,0
        LD      (SIORDP),A
        NOP             ;(SDPW),0
        RET
SDP2:   LD      HL,SIORD+1                      ;(SDPW),0
        LD      A,(SIORDP)
        DEC     A
        LD      C,A
        LD      B,0
        ADD     A,A
        LD      (DISW),A
        LD      DE,DISW+1
        LDIR
        LD      A,0
        LD      (SDPW),A
        LD      (SIORDP),A
        RET
SDP3:   LD      A,0
        LD      (SIORDP),A
        RET             ;1992,6,29^^^^
ADS21:  LD      A,0
        OUT     (PC2),A
        NOP
        LD      A,(WADD2)
        OUT     (PB2),A
        INC     A
        LD      (WADD2),A
        LD      A,10H
        OUT     (PC2),A
        CALL    STOP3
        NOP
        NOP
        NOP
        LD      A,0
        OUT     (PC2),A
        RET
DIS20:  LD      A,(SDPW1)
        CP      6               ;1992,6,29+++
        JP      NZ,DIS20W       ;  不等,转
DIS20R: LD      A,(DISW)
        CP      7
        JP      NZ,DIS20S       ;  不等,转
        LD      A,(DISW+1)
        JP      DIS2B
DIS20S: CP      6
        JP      NZ,DIS20T       ; 不等,转
        LD      A,(DISW+2)
        JP      DIS2A
DIS20T: CP      5
        JP      NZ,DIS20Q       ; 不等,转
        LD      A,(DISW+2)
        JP      DIS2B
DIS20Q: CP      4
        JP      NZ,DIS20P       ; 不等,转
        LD      A,(DISW+3)
        JP      DIS2A
DIS20P: CP      3
        JP      NZ,DIS20O       ; 不等,转
        LD      A,(DISW+3)
        JP      DIS2B
DIS20O: CP      2
        JP      NZ,DIS20H       ; 不等,转
        LD      A,(DISW+4)
        JP      DIS2A
DIS20H: CP      1
        JP      NZ,DIS20L       ; 不等,转
        LD      A,0
        LD      (SDPW1),A
        LD      A,(DISW+4)
        JP      DIS2B
DIS20L: LD      A,0
        LD      (DISW),A
        LD      (SDPW1),A
        RET
DIS20W: LD      A,(DISW)
        CP      10
        JP      Z,DIS2P         ;1992,6,29^^^^ 等于,转
        LD      A,(DISW)
        CP      0
        JP      Z,DISDC         ; 等于0,转
        CP      6
        JP      Z,DIS206        ; 等于6,转
        CP      5
        JP      Z,DIS205        ; 等于5,转
        CP      4
        JP      Z,DIS204        ; 等于4,转
        CP      3
        JP      Z,DIS203        ; 等于3,转
        CP      2
        JP      Z,DIS202        ; 等于2,转
        CP      1
        JP      Z,DIS201        ; 等于1,转
        LD      A,0
        LD      (DISW),A
        RET
DIS206: LD      A,(DISW+1)
        CP      02H
        JP      Z,DIS006        ; 等于,转
        CP      40H
        JP      NC,DIS006       ; 不小于,转
        CP      04
        JP      Z,DIS006        ; 等于,转
        CP      00              ;***************
        JP      NZ,DIS261       ; 不等0,转
DIS006: LD      A,0
        LD      (DISW),A
        RET
DIS269: LD      A,(DISW+3)
        CP      0
        JP      Z,DIS090        ; 等于,转
DIS091: LD      C,PL3
        CALL    DISIO
        LD      A,(WPL3)
        CP      0
        JP      NZ,DIS092       ; 不等0,转
        LD      C,PL0
        RES     7,C
        CALL    DISIO
        LD      A,1
        LD      (WPL3),A
        JP      DIS092
DIS090: LD      C,PL3
        RES     7,C
        CALL    DISIO
        LD      A,(WPL3)
        CP      1
        JP      NZ,DIS092       ; 不等0,转
        LD      A,0
        LD      (WPL3),A
        LD      C,PL0
        CALL    DISIO
DIS092: LD      A,0
        LD      (DISW),A
        RET
DIS26A: LD      A,(DISW+3)
        CP      0
        JP      Z,DIS0A0        ; 等于,转
DIS0A1: LD      C,PL2
        CALL    DISIO
        JP      DIS0A2
DIS0A0: LD      C,PL2
        RES     7,C
        CALL    DISIO
DIS0A2: LD      A,0
        LD      (DISW),A
        RET
DIS261: CP      09
        JP      Z,DIS269        ; 等于,转
        CP      0EH
        JP      Z,DIS26E        ; 等于,转
        CP      0AH
        JP      Z,DIS26A        ; 等于,转
        CP      0BH
        JP      NZ,DI2611       ; 不等,转
DIS26E: LD      A,0C7H
        LD      (WADD2),A
        LD      A,4
        LD      (DISW),A
        JP      DIS204
DI2611: CP      0CH
        JP      Z,DIS262        ; 等于,转
        CP      0DH
        JP      NZ,DIS264       ;  不等,转
DIS262: LD      A,80H
        LD      (WADD2),A
        JP      DIS263
DIS264: LD      A,0C0H
        LD      (WADD2),A
DIS263: LD      A,(DISW+1)
DIS2A:  AND     0F0H
        SRA     A
        SRA     A
        SRA     A
        SRA     A
        AND     0FH
        LD      E,A
DIS2A1: JP      DI200
DIS205: LD      A,(DISW+1)
        CP      6
        JP      C,DIS2B         ; 小于,转
        CP      9
        JP      NC,DIS2B        ; 不小于,转
        PUSH    AF
        CALL    Q135
        POP     AF
DIS2B:  AND     0FH
        LD      E,A
        JP      DI200
DIS204: LD      A,(DISW+2)
        JP      DIS2A
DIS203: LD      A,(DISW+2)
        JP      DIS2B
DIS202: LD      A,(DISW+3)
        JP      DIS2A
DIS201: LD      A,(DISW+3)
        JP      DIS2B
DIS2P:  LD      A,(DISW+1)              ;1992,6,29
        CP      0FH
        JP      NZ,DIS2P1       ; 不等,转
        LD      A,(DISW+2)
        CP      20H
        JP      NC,DIS2PA       ; 不小于,转
        CP      1
        JP      Z,DIS2PA        ; 等于,转
        CP      6
        JP      Z,DIS2PA        ; 等于,转
        CP      09
        JP      NC,DIS2P1       ; 不小于,转
        CP      07
        JP      C,DIS2P3        ; 小于,转
DIS2PP: PUSH    IY
        LD      IY,DISW
        LD      A,(IY+2)
        LD      (IY+1),A
        LD      A,(IY+3)
        LD      (IY+2),A
        LD      A,(IY+4)
        LD      (IY+3),A
        LD      A,(IY+5)
        LD      (IY+4),A
        LD      A,8
        LD      (IY),A
        POP     IY
        LD      A,6
        LD      (SDPW1),A
        LD      A,0C7H
        LD      (WADD2),A
        LD      A,(DISW+1)
        JP      DIS2A
DIS2P1: LD      A,0
        LD      (DISW),A
        RET
DIS2P3: PUSH    IY
        LD      IY,DISW
        LD      D,(IY+4)
        LD      E,2
DIS2P6: LD      A,D
        AND     03H
        CP      0
        JP      Z,DIS2P7        ; 等于,转
        LD      (IY+5),1
        JP      DIS2P4
DIS2P7: LD      (IY+5),0
DIS2P4: LD      A,D
        AND     0CH
        CP      0
        JP      Z,DIS2P5        ; 等于,转
        LD      A,10H
        OR      (IY+5)
        LD      (IY+5),A
DIS2P5: SRA     D
        SRA     D
        SRA     D
        SRA     D
        DEC     IY
        DEC     E
        JP      NZ,DIS2P6       ; 不等0,转
        POP     IY
        JP      DIS2PP
DIS2PA: PUSH    IY
        LD      IY,DISW
        LD      D,(IY+4)
        LD      E,2
DIS2PE: BIT     0,D
        JP      NZ,DIS2PB       ; 不等0,转
        LD      (IY+5),0
DIS2PC: BIT     1,D
        JP      Z,DIS2PD        ; 等于,转
        LD      A,10H
        OR      (IY+5)
        LD      (IY+5),A
DIS2PD: SRA     D
        SRA     D
        DEC     IY
        DEC     E
        JP      NZ,DIS2PE       ; 不等0,转
        POP     IY
        JP      DIS2PP
DIS2PB: LD      (IY+5),1
        JP      DIS2PC
DI200:  LD      A,(WADD)
        LD      (WADD1),A
        LD      A,E
        CP      0AH
        JP      C,DI2001        ; 小于,转
        ADD     A,37H
        JP      DI2002
DI2001: ADD     A,30H
DI2002: LD      E,A
        CALL    ADS21
        CALL    DIS2
        LD      A,(WADD1)
        LD      (WADD),A
        LD      C,PL19
        CALL    DISIO           ;***************
        LD      A,(DISW)
        DEC     A
        LD      (DISW),A
        RET
COMRM:  LD      A,(SIORDP)
        CP      04
        RET     C
        JP      Z,COMR4         ; 等于,转
        CP      8
        JP      Z,COMR8         ; 等于,转
        CP      18
        JP      Z,COMR18        ; 等于,转
        CP      19
        RET     C
        LD      A,0
        LD      (SIORDP),A
        RET
COMR4:  LD      A,(W2)
        INC     A
        LD      (W2),A
        LD      A,0
        LD      (SIORDP),A
        LD      A,(SIORD+1)
        CP      30H
        JP      C,COMR40        ; 小于,转
        CP      40H
        JP      C,ERRORS        ; 小于,转
        CP      7FH
        JP      NC,ERRORS       ; 不小于,转
        JP      COM40
COMR40: LD      A,(DISW+1)      ;1993,1,15++++
        CP      0DH
        JP      NZ,COMR4A       ; 不等,转
        LD      A,0
        LD      (DISW),A
        LD      (DISW+1),A
        LD      (DISW+2),A
COMR4A: LD      HL,TAB4         ;COMR40         1993,1,15^^^^
        LD      B,0
        LD      A,(SIORD+1)
        CP      0
        RET     Z
        DEC     A
COMR41: LD      C,A
        ADD     HL,BC
        ADD     HL,BC
        LD      A,(HL)
        INC     HL
        LD      H,(HL)
        LD      L,A
        JP      (HL)
COMR8:  RET
COMR18: RET
PRO32A: CALL    KEYLA
        CALL    DIS20
        CALL    DIS0
        CALL    DIS1Q
        CALL    RQWE            ;1992,8,26
        LD      A,(W1000)
        INC     A
        LD      (W1000),A
        CP      15
        RET     C
        LD      A,0
        LD      (W1000),A
        CALL    A0F
        RET
SUNB:   LD      A,90H
        OUT     (PD1),A
        LD      A,0BH
        OUT     (PD1),A
        CALL    STOP4
        LD      A,0DH
        OUT     (PD1),A
        LD      IX,SUN
        LD      B,14
        CALL    TIMER
        LD      A,1
        LD      (IX),A
        LD      B,13
        CALL    TIMER
        LD      A,9
        LD      (IX+1),A
        LD      B,12
        CALL    TIMER
        LD      (IX+2),A
        LD      B,11
        CALL    TIMER
        LD      (IX+3),A
        LD      B,10
        CALL    TIMER
        AND     01
        LD      (IX+4),A
        LD      B,9
        CALL    TIMER
        LD      (IX+5),A
        LD      B,8
        CALL    TIMER
        AND     03
        LD      (IX+6),A
        LD      B,7
        CALL    TIMER
        LD      (IX+7),A
        LD      B,6
        CALL    TIMER
        AND     07
        LD      (IX+8),A
        LD      A,0
        OUT     (PC1),A
        RET
A0F60:  LD      IX,WTIMER
        LD      A,(IX)
        CP      0
        RET     NZ
        LD      A,(IX+1)
        CP      0
        RET     NZ
        LD      A,(IX+2)
        CP      0
        RET     NZ
        LD      A,(IX+3)
        CP      5
        RET     NC
        CALL    SUNB
        RET
A0F:    CALL    KSENH                   ;1992,9,2 K CALL SENH
        CALL    SSENH           ;1992,7,1
        LD      A,(W1)
        INC     A
        LD      (W1),A
        CP      60
        JP      C,A0FK  ; 小于,转
        CALL    A0F60
        LD      A,0
        LD      (W1),A
A0FK:   LD      A,(WQ)
        CP      5
        JP      Z,A0F5          ; 等于,转

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -