FM 'ZKOU' DEFB õpûFM 'MEN' DEFB 'U'+80H DEFM '47' DEFB 'H'+80H ; ;*__*__*__*__*__*__*__*__*__*__*__*__*__ ; EODIS ; ; ; ; ************************* ; * * ; * Disassembler Teil 2 * ; * * ; ************************* ; ; ORG EODIS WOFF LD DE,0 ;ohne Offset DISASS LD A,ESC CALL SYS DEFB 24H ;Zeile l|schen CDISASS PUSH IY POP HL ADD HL,DE ;Adresse berechn CALL DHLHX LD A,CUR CALL DOCHR LD A,(DMODE) AND A JR NZ,DIS1 ;Special Mode PUSH IY POP HL LD B,A LD A,M CP (IY+1) ;Prolog? JR NZ,SY0 CP 7FH JR Z,PROL CP 0DDH JR Z,PROL CP 0FDH JR Z,PROL CP 0EDH JR Z,PROL CP 0E8H JR Z,PROL SY0 CP 0CDH ;Systemspr.? JR NZ,SY2 INC HL LD A,M CP 3 JR NZ,SY3 INC HL LD A,M DEC HL CP 0F0H JR NZ,SY3 INC B SY1 INC B SY2 LD A,B LD (DMODE),A JP EXEC ; PROL LD A,4 LD (DMODE),A LD HL,TW CALL DPRS CALL DIYHL JP DIT6 ; SY3 LD A,M ;CALL PRS? CP PRS%100H JR NZ,SY2 INC HL LD A,M CP PRS/100H JR NZ,SY2 JR SY1 ; ; Special Mode: ; 1: String for PRS ; 2: DEFB for Syst. ; 3: Epilog ; 4: Menu name ; DIS1 DEC A JR Z,DIS2 ;Zeichenkette LD (DMODE),A SUB 2 JR C,DIS3 ;DEFB JR NZ,DIS2 ;Menu Name LD (DMODE),A JR DIS22 ; DIS2 LD A,(IY) ;String CP 20H JR C,DIS21 ;Contr. CP 80H JR NC,DIS22;>80H LD HL,TM CALL DPRS LD B,20 DIT1 LD A,(IY) CP 20H JR C,DIT2 CP 80H JR NC,DIT2 CALL DOCHR INC IY DJNZ DIT1 ; DIT2 LD A,27H JP DOCHR ; DIS22 LD HL,TB ;>80H CALL DPRS CALL AHEXHZ INC IY RET ; DIS21 LD HL,TB ;<20H CALL DPRS LD HL,CLTAB-1 LD A,(IY) AND A JR NZ,DIT5 DIT4 LD (DMODE),A;Ende String DIT5 LD A,(IY) CALL DSRCH DIT6 INC IY RET ; DIS3 LD HL,TB CALL DPRS LD HL,SYTAB-1 LD A,(IY) CP 23H JR Z,DIT5 XOR A JR DIT4 ; ;*__*__*__*__*__*__*__*__*__*__*__*__*__ ; LIST7 LD A,3 LD (DMODE),A LIST8 LD B,1 JR LIST4 ; DEFW HEAD DEFM 'LIST' DEFB 1 LIST CALL DARG LIST3 LD B,C LIST4 PUSH BC PUSH IY LD DE,(OFFS) CALL DISASS PUSH IY POP HL POP DE LD A,(DUMP) RRCA JR NC,LIST41 LD A,(CRSR) CP 30 JR NC,LIST41 LIST42 CALL SYS DEFB 23H DEFB CUR,0 LD A,(CRSR) CP 30 JR NZ,LIST42 SBC HL,DE LD A,L CP 4 JR C,LIST43 LD A,4 LIST43 LD B,A LIST44 LD A,(DE) INC DE CALL DAHEX DJNZ LIST44 LIST41 CALL DCRLF POP BC CALL SYS DEFB 2AH RET C DJNZ LIST4 ; LIST5 CALL SYS DEFB 4 CP BRK RET Z CP CR JR Z,LIST3 CP CUD JR Z,LIST6 CP CUR JR Z,LIST8 CP 'D' JR Z,LIST7 CP CUL JR Z,LIST23 CP CUU JR NZ,LIST5 LD A,(WINLG+1) DEC A ADD A LIST20 LD B,A LIST21 PUSH BC PUSH IY POP DE LD HL,-16 ADD HL,DE LIST22 PUSH HL CALL LEN POP HL PUSH HL POP IY LD C,B LD B,0 ADD HL,BC XOR A SBC HL,DE ADD HL,DE JR C,LIST22 POP BC DJNZ LIST21 LD (DMODE),A LIST6 CALL SYS DEFB 2DH JP LIST3 ; LIST23 LD A,(WINLG+1) JR LIST20 ;___________________________ ; DARG PUSH BC LD C,E POP DE CP 2 JR NC,LIST0 LD BC,(WINLG+1) DEC C LIST0 CP 3 JR C,LIST1 LD (OFFS),DE LIST1 LD DE,(OFFS) AND A SBC HL,DE PUSH HL POP IY XOR A LD L,A LD H,A LD (CMODE),HL RET ; ;*__*__*__*__*__*__*__*__*__*__*__*__*__ ; DEFW HEAD DEFM 'CDISASS' DEFB 5 CALL DARG INC A LD (CMODE),A CALL NAMEASM RET C LD DE,IOPUF LD BC,11 LDIR LD E,10H XOR A LD (DE),A CALL SYS DEFB 8 SCF CEDIS PUSH AF CDIS LD DE,(OFFS) CALL CDISASS CALL DCRLF CALL SYS DEFB 2AH JR C,CDIS1 LD HL,(ARG2) PUSH IY POP DE SBC HL,DE JR NC,CDIS CDIS1 POP AF RET NC ;DISASS LD A,3 ;CDISASS CALL DOCHR LD BC,160 CALL SYS DEFB 9 RET ; ;*__*__*__*__*__*__*__*__*__*__*__*__*__ ; DEFW HEAD DEFM 'EDISASS' DEFB 5 CALL DARG DEC A LD (CMODE),A JR CEDIS ; .;Ende ; TEST1 EQU TAB4/100H ;Seitentests TEST2 EQU REG20/100H TEST3 EQU TEST1-TEST2+1 TEST4 EQU 1/TEST3 ; TEST5 EQU Z9/100H TEST6 EQU TAB5+8/100H TEST7 EQU TEST5-TEST6+1 TEST8 EQU 1/TEST7 ; ;*__*__*__*__*__*__*__*__*__*__*__*__*__ ; ORG 0B7FBH DUMP DEFS 1 OFFS DEFS 2 CMODE DEFS 1 DMODE DEFS 1 ; ;*__*__*__*__*__*__*__*__*__*__*__*__*__ ; EDINS EQU 0C26CH NAMEASM EQU 0C321H PR2 EQU 0C374H ; LEN EQU 0EA2CH ; ;*__*__*__*__*__*__*__*__*__*__*__*__*__ ; ; @û