epbas.lgb.hu :: Enterprise-128 EXOS file analyzer, lister and disassembler

File name: /tmp/phpFIO2I5 (353 bytes) Options: bin=None cset='UK' dasm='' html='' info='' out='/tmp/phpFIO2I5.out' EP-ASCII: UK EXOS header pos/serial: #0 at 0x0 EXOS type/header: 0x5 [00 05 51 01 00 00 00 00 00 00 00 00 00 00 00 00] EXOS type determined: User program (ML)
Program load address: 0x100, size is 0x151, last byte is 0x250 Program start address (+ code hint points): 0x100 ML analyzation mode: disassembly 218 locations in the image 2/8 data/code labels created 9 iterations used to disassemble 23 xref points found
; Disassembled by LGB's two pass Z80/Enterprise disassembler ORG 0xf0 DB 0x00,0x05,0x51,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; EXOS header MACRO EXOS n ; by LGB RST 0x30 DB n ENDMACRO PROGRAM_ENTRY_POINT: ; code label ; Disassembler: switching to CODE mode ; Code analyzation starting point at iteration #1 of 9 LD SP,$0100 ; 0100 31 00 01 "1??" ; EXOS filename string for EXOS call 0x1 at 0x108 LD DE,EXOS_STR_01FF ; 0103 11 FF 01 "???" LD A,$01 ; 0106 3E 01 ">?" ; EXOS call (0x1): Open channel ; DE is known! :-) -> 0x1ff ; A=0x1 EXOS $01 ; 0108 F7 01 "??" LD A,$01 ; 010A 3E 01 ">?" ; EXOS call (0x5): Read character ; A=0x1 EXOS $05 ; 010C F7 05 "??" LD H,$00 ; 010E 26 00 "&?" LD L,B ; 0110 68 "h" LD BC,$0004 ; 0111 01 04 00 "???" ADD HL,HL ; 0114 29 ")" ADD HL,HL ; 0115 29 ")" ADD HL,BC ; 0116 09 "?" LD A,$01 ; 0117 3E 01 ">?" LD B,H ; 0119 44 "D" LD C,L ; 011A 4D "M" ; EXOS filename string for EXOS call 0x6 at 0x11e LD DE,EXOS_STR_0250 ; 011B 11 50 02 "?P?" ; EXOS call (0x6): Read block ; DE is known! :-) -> 0x250 ; A=0x1 EXOS $06 ; 011E F7 06 "??" LD A,$01 ; 0120 3E 01 ">?" ; EXOS call (0x3): Close channel ; A=0x1 EXOS $03 ; 0122 F7 03 "??" CALL SUB_0189 ; 0124 CD 89 01 "???" LD HL,$0240 ; 0127 21 40 02 "!@?" LD DE,$1F00 ; 012A 11 00 1F "???" LD BC,$0010 ; 012D 01 10 00 "???" LDIR ; 0130 ED B0 "??" LD A,($0038) ; 0132 3A 38 00 ":8?" LD HL,($0039) ; 0135 2A 39 00 "*9?" LD ($017D),A ; 0138 32 7D 01 "2}?" LD ($017F),HL ; 013B 22 7F 01 ""??" LD A,$C3 ; 013E 3E C3 ">?" LD HL,$01B8 ; 0140 21 B8 01 "!??" DI ; 0143 F3 "?" LD ($0038),A ; 0144 32 38 00 "28?" LD ($0039),HL ; 0147 22 39 00 ""9?" LD A,$08 ; 014A 3E 08 ">?" ; I/O on port 0xbf: Dave sysconfig register (wait states, clkdiv) OUT ($BF),A ; 014C D3 BF "??" LD A,$FD ; 014E 3E FD ">?" ; I/O on port 0xb1: Dave MMU reg, page 1 (4000-7FFF) selector OUT ($B1),A ; 0150 D3 B1 "??" INC A ; 0152 3C "<" ; I/O on port 0xb2: Dave MMU reg, page 2 (8000-BFFF) selector OUT ($B2),A ; 0153 D3 B2 "??" LD HL,$4000 ; 0155 21 00 40 "!?@" LD DE,$4001 ; 0158 11 01 40 "??@" LD BC,$3FFF ; 015B 01 FF 3F "???" LD (HL),L ; 015E 75 "u" LDIR ; 015F ED B0 "??" EI ; 0161 FB "?" LD B,$0A ; 0162 06 0A "??" NEAR_0164: ; code label ; Referenced at 0165 HALT ; 0164 76 "v" DJNZ NEAR_0164 ; 0165 10 FD "??" NEAR_0167: ; code label ; Referenced at 016D EI ; 0167 FB "?" HALT ; 0168 76 "v" DI ; 0169 F3 "?" CALL SUB_01C1 ; 016A CD C1 01 "???" ; Opcode breaks the linear code flow JR NEAR_0167 ; 016D 18 F8 "??" ; fall-back code analyzation starting point [maybe incorrect, and this is data!] ; Code analyzation starting point at iteration #6 of 9 XOR A ; 016F AF "?" DI ; 0170 F3 "?" XOR A ; 0171 AF "?" ; I/O on port 0x81: Nick border color OUT ($81),A ; 0172 D3 81 "??" LD A,$90 ; 0174 3E 90 ">?" ; I/O on port 0x82: Nick LPL OUT ($82),A ; 0176 D3 82 "??" LD A,$CF ; 0178 3E CF ">?" ; I/O on port 0x83: Nick LPH OUT ($83),A ; 017A D3 83 "??" LD A,$00 ; 017C 3E 00 ">?" LD HL,$0000 ; 017E 21 00 00 "!??" LD ($0038),A ; 0181 32 38 00 "28?" LD ($0039),HL ; 0184 22 39 00 ""9?" EI ; 0187 FB "?" ; Opcode breaks the linear code flow RET ; 0188 C9 "?" SUB_0189: ; code label ; Referenced at 0124 ; Code analyzation starting point at iteration #2 of 9 LD A,$FE ; 0189 3E FE ">?" ; I/O on port 0xb1: Dave MMU reg, page 1 (4000-7FFF) selector OUT ($B1),A ; 018B D3 B1 "??" INC A ; 018D 3C "<" ; I/O on port 0xb2: Dave MMU reg, page 2 (8000-BFFF) selector OUT ($B2),A ; 018E D3 B2 "??" LD A,$10 ; 0190 3E 10 ">?" LD ($BFC5),A ; 0192 32 C5 BF "2??" LD HL,$020A ; 0195 21 0A 02 "!??" LD DE,$4000 ; 0198 11 00 40 "??@" LD BC,$0020 ; 019B 01 20 00 "? ?" LDIR ; 019E ED B0 "??" LD HL,$BAC0 ; 01A0 21 C0 BA "!??" LD BC,$0060 ; 01A3 01 60 00 "?`?" LDIR ; 01A6 ED B0 "??" LD A,($4070) ; 01A8 3A 70 40 ":p@" ADD $0E ; 01AB C6 0E "??" LD ($4070),A ; 01AD 32 70 40 "2p@" XOR A ; 01B0 AF "?" ; I/O on port 0x82: Nick LPL OUT ($82),A ; 01B1 D3 82 "??" LD A,$C8 ; 01B3 3E C8 ">?" ; I/O on port 0x83: Nick LPH OUT ($83),A ; 01B5 D3 83 "??" ; Opcode breaks the linear code flow RET ; 01B7 C9 "?" ; fall-back code analyzation starting point [maybe incorrect, and this is data!] ; Code analyzation starting point at iteration #7 of 9 DI ; 01B8 F3 "?" PUSH AF ; 01B9 F5 "?" LD A,$30 ; 01BA 3E 30 ">0" ; I/O on port 0xb4: Dave enable/reset interrupt sources/latches OUT ($B4),A ; 01BC D3 B4 "??" POP AF ; 01BE F1 "?" EI ; 01BF FB "?" ; Opcode breaks the linear code flow RET ; 01C0 C9 "?" SUB_01C1: ; code label ; Referenced at 016A ; Code analyzation starting point at iteration #3 of 9 DI ; 01C1 F3 "?" LD ($01FB),SP ; 01C2 ED 73 FB 01 "?s??" LD SP,$0250 ; 01C6 31 50 02 "1P?" LD C,$2D ; 01C9 0E 2D "?-" NEAR_01CB: ; code label ; Referenced at 01F8 POP DE ; 01CB D1 "?" POP HL ; 01CC E1 "?" LD (HL),$00 ; 01CD 36 00 "6?" LD A,E ; 01CF 7B "{" OR A ; 01D0 B7 "?" JR Z,NEAR_01FA ; 01D1 28 27 "('" AND $07 ; 01D3 E6 07 "??" ADD D ; 01D5 82 "?" LD E,A ; 01D6 5F "_" AND $F8 ; 01D7 E6 F8 "??" JR Z,NEAR_01E8 ; 01D9 28 0D "(?" INC HL ; 01DB 23 "?" LD A,L ; 01DC 7D "}" CP C ; 01DD B9 "?" JP NZ,NEAR_01E8 ; 01DE C2 E8 01 "???" SUB $2D ; 01E1 D6 2D "?-" LD L,A ; 01E3 6F "o" JP NC,NEAR_01E8 ; 01E4 D2 E8 01 "???" DEC H ; 01E7 25 "%" NEAR_01E8: ; code label ; stop analyzing: already analyzed code at iteration #4: Opcode (or part of it) has been already analyzed ; Referenced at 01D9 01DE 01E4 LD B,D ; 01E8 42 "B" LD D,$1F ; 01E9 16 1F "??" LD A,(DE) ; 01EB 1A "?" LD (HL),A ; 01EC 77 "w" LD D,B ; 01ED 50 "P" PUSH HL ; 01EE E5 "?" PUSH DE ; 01EF D5 "?" INC SP ; 01F0 33 "3" INC SP ; 01F1 33 "3" INC SP ; 01F2 33 "3" INC SP ; 01F3 33 "3" LD A,C ; 01F4 79 "y" ADD $2D ; 01F5 C6 2D "?-" LD C,A ; 01F7 4F "O" ; Opcode breaks the linear code flow JR NEAR_01CB ; 01F8 18 D1 "??" NEAR_01FA: ; code label ; stop analyzing: already analyzed code at iteration #8: Opcode (or part of it) has been already analyzed ; Referenced at 01D1 ; Code analyzation starting point at iteration #5 of 9 LD SP,$0000 ; 01FA 31 00 00 "1??" EI ; 01FD FB "?" ; Opcode breaks the linear code flow RET ; 01FE C9 "?" EXOS_STR_01FF: ; data label ; stop analyzing: in fall-back mode data label found, revoking further CODE mode ; Referenced at 0108 ; Disassembler: switching to DATA mode DB $0A ; 01FF 0A "?" DB "STARS2.DAT" ; 0200 53 54 41 52 53 32 2E 44 41 54 "STARS2.DAT" DB $00 ; 020A 00 "?" DB $1E ; 020B 1E "?" DB $09 ; 020C 09 "?" DB $36 ; 020D 36 "6" DB $00 ; 020E 00 "?" DB $40 ; 020F 40 "@" DB $00 ; 0210 00 "?" DB $40 ; 0211 40 "@" DB $00 ; 0212 00 "?" DB $FF ; 0213 FF "?" DB $00 ; 0214 00 "?" DB $00 ; 0215 00 "?" DB $00 ; 0216 00 "?" DB $00 ; 0217 00 "?" DB $00 ; 0218 00 "?" DB $00 ; 0219 00 "?" DB $F6 ; 021A F6 "?" DB $1E ; 021B 1E "?" DB $09 ; 021C 09 "?" DB $09 ; 021D 09 "?" DB $08 ; 021E 08 "?" DB $04 ; 021F 04 "?" DB $7D,$48 ; 0220 7D 48 "}H" DB $08 ; 0222 08 "?" DB $06 ; 0223 06 "?" DB $C5 ; 0224 C5 "?" DB $48 ; 0225 48 "H" DB $0C ; 0226 0C "?" DB $06 ; 0227 06 "?" DB $D0 ; 0228 D0 "?" DB $48 ; 0229 48 "H" DB $FF ; 022A FF "?" DB $FF ; 022B FF "?" DB $FF ; 022C FF "?" DB $3F,$3F,$3F ; 022D 3F 3F 3F "???" DB $C7 ; 0230 C7 "?" DB $C7 ; 0231 C7 "?" DB $C7 ; 0232 C7 "?" DB $07 ; 0233 07 "?" DB $07 ; 0234 07 "?" DB $07 ; 0235 07 "?" DB $F8 ; 0236 F8 "?" DB $F8 ; 0237 F8 "?" DB $F8 ; 0238 F8 "?" DB $38,$38,$38 ; 0239 38 38 38 "888" DB $00 ; 023C 00 "?" DB $00 ; 023D 00 "?" DB $00 ; 023E 00 "?" DB $01 ; 023F 01 "?" DB $80 ; 0240 80 "?" DB $40,$20 ; 0241 40 20 "@ " DB $10 ; 0243 10 "?" DB $08 ; 0244 08 "?" DB $04 ; 0245 04 "?" DB $02 ; 0246 02 "?" DB $01 ; 0247 01 "?" DB $80 ; 0248 80 "?" DB $40,$20 ; 0249 40 20 "@ " DB $10 ; 024B 10 "?" DB $08 ; 024C 08 "?" DB $04 ; 024D 04 "?" DB $02 ; 024E 02 "?" DB $01 ; 024F 01 "?" EXOS_STR_0250: ; data label ; Referenced at 011E DB $00 ; 0250 00 "?" END_OF_PROGRAM: ; Do not put anything after this!
End of FILE parsing, because: After type-5 header



Enterprise-128 EXOS file analyzer, lister and disassembler v0.5.8 ©2012,2013 "LGB" Gábor Lénárt (lgb at-sign lgb dot hu)