Rev 1138 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| RSS feed
;DISASM "B" LINES FROM "HL" ADDRESS
DIS0 PUSH BC
PUSH HL
EX DE,HL
CALL S1 ;VIEW ADDRESS
POP HL
LD A,32
RST 16
CALL LEN
LD A,B
DEC A
CP 4
JR C,$+4
LD B,1
PUSH HL
DIS1 LD E,(HL)
INC HL
CALL S2 ;VIEW BYTES (1..4)
DJNZ DIS1
LD A,6
RST 16
EX (SP),HL
CALL COMMAND ;VIEW COMMAND
LD A,6
RST 16
POP HL
DIS2 POP BC
DJNZ DIS0
RET
ED INC HL
LD B,32
LD A,(HL)
SUB 64
RET C
SUB 64
JR NC,C5
CP 196
LD DE,COMN
JR Z,CT
AND 7
CP 7
LD DE,COME
JR Z,CT
CP 5
JR NZ,C6
LD A,(HL)
CP 80
LD DE,COMR
RET NC
CT CALL CALC
TXT JP TEXT
C6 CP 4
RET Z
CP 6
JR NZ,C7
LD A,(HL)
CP 100
LD DE,COMH+4
RET NC
CALL T0
CALL CALC
CP 1
RET Z
JR C,$+3
DEC A
ADD A,"0"
RST 16
RET
C7 LD E,A
LD A,(HL)
AND 15
CP 10
LD A,E
JR C,C8
ADD A,2
C8 LD DE,COMI
CP 3
JR NZ,TXT
LD C,(HL)
CALL TEXT
LD A,C
PAIR CALL CALCa
RRA
CP 2
LD DE,RP
JR NZ,TXT
LHL LD DE,RP+4
BIT 6,B
JP Z,T0
LD A,"I"
RST 16
LD A,B
RST 16
RET
C5 SUB 32
RET C
CP 32
RET NC
BIT 2,A
RET NZ
BIT 4,A
JR Z,C9
SUB 12
C9 LD DE,COMM
JR TXT
bit INC HL
BIT 6,B
JR Z,B0
INC HL
DEC B
DEC B
B0 LD A,(HL)
SUB 64
LD DE,COMB
JR NC,B1
CALL CT
LD A,32
JR B2
B1 RLCA
RLCA
AND 3
ADD A,8
CALL TEXT
CALL CALC
ADD A,"0"
RST 16
LD A,44
B2 RST 16
LD A,(HL)
BIT 5,B
JR NZ,$+6
AND 7
CP 6
CALL NZ,REG
BIT 6,B
RET Z
INC B
INC B
JP R1+4
COMMAND LD B,32
clear LD A,(HL)
CP 221
JR NZ,CY
LD B,"X"
CX INC HL
INC HL
LD C,(HL)
DEC HL
JR clear
CY CP 253
JR NZ,CZ
LD B,"Y"
JR CX
CZ CP 203
JR Z,bit
CP 237
JP Z,ED
CP 118
LD DE,COMH
JR Z,T0
CP 64
JP NC,C1
AND 7
LD DE,COM0
JR Z,jpCT
C0 CP 7
LD DE,COM7
JR Z,jpCT
CP 2
JR NZ,TZ
LD A,8
CALL TEXT
LD DE,COM2
jpCT JP CT
TZ LD A,(HL)
AND 15
CP 12
JR NC,TEXT
ADD A,8
TEXT OR A
JR NZ,T7
T0 LD A,(DE)
BIT 7,A
PUSH AF
PUSH DE
AND 127
JR NZ,T1
CALL LHL
JR T6
T1 DEC A
JR NZ,T2
CALL CALC
CALL REG
JR T6
T2 DEC A
JR NZ,T3
LD A,(HL)
CALL PAIR
JR T6
T3 DEC A
JR NZ,T4
INC HL
LD C,(HL)
CALL S7
JR T6
T4 DEC A
JR NZ,TX
INC HL
LD E,(HL)
INC HL
LD D,(HL)
CALL S1
JR T6
TX DEC A
JR NZ,TY
INC HL
PUSH HL
LD E,(HL)
LD D,A
BIT 7,E
JR Z,$+3
DEC D
INC HL
ADD HL,DE
EX DE,HL
POP HL
CALL S1
JR T6
TY DEC A
JR NZ,T5
LD DE,CC
CALL CT
JR T6
T5 RST 16
T6 POP DE
POP AF
INC DE
JR Z,T0
RET
T7 DEC A
EX DE,HL
T8 BIT 7,(HL)
INC HL
JR Z,T8
EX DE,HL
JR TEXT
C1 CP 128
JR NC,C4
LD DE,COML
PUSH AF
CALL T0
POP AF
LD D,A
JR REGd
C4 CP 192
LD DE,COM
JR NC,C2
CALL CT
LD A,(HL)
REG LD D,(HL)
REGd AND 7
ADD A,66
AND 71
CP 70
JR NZ,R0
LD A,"H"
JR R6
R0 CP 71
JR NZ,R1
LD A,"L"
R6 RST 16
LD A,D
AND 7
CP 6
RET Z
XOR D
CP 112
RET Z
LD A,B
CP 88
RET C
LD A,B
R8 RST 16
RET
R1 CP 64
JR NZ,R8
LD A,"("
RST 16
CALL LHL
BIT 6,B
JR Z,R5
LD A,C
RLA
LD A,"+"
JR NC,R4
XOR A
SUB C
LD C,A
LD A,"-"
R4 RST 16
CALL S7
R5 LD A,")"
RST 16
RET
C2 AND 7
CP 6
JR NZ,C3
CALL CT
INC HL
LD C,(HL)
JR S7
C3 CP 1
LD DE,COM1
CTT JP Z,CT
CP 3
LD DE,COM3
JR Z,CTT
CP 5
LD DE,COM5
JR Z,CTT
CP 7
LD DE,COMJ+2
JP NZ,TEXT
CALL TEXT
LD A,(HL)
SUB 199
LD C,A
S7 ;LD A,(S1)
;CP 24
;JR Z,S8_100 ;decimal mode
LD A,"#"
RST 16
LD E,C
JR S2
if 0
S8_100 LD D,100
CALL S9
S8_10 LD D,10
CALL S9
LD D,1
S9 LD E,47
LD A,C
INC E
SUB D
JR NC,$-2;S9+3
ADD A,D
LD C,A
LD A,E
RST 16
RET
endif
S1 LD A,"#" ;WARNING! ╤А╨░╤Б╤Б╤З╨╕╤В╨░╨╜╨╛ ╨╜╨░ JR ZZZZZZ
RST 16
LD A,D
RRA
RRA
RRA
RRA
CALL S3
LD A,D
CALL S3
S2 LD A,E
RRA
RRA
RRA
RRA
CALL S3
LD A,E
S3 AND 15
ADD A,48
CP 58
JR C,S4
ADD A,7
S4 RST 16
RET
if 0
NOP
ZZZZZZ
EX DE,HL
LD BC,10000
CALL S5
LD BC,1000
CALL S5
LD BC,100
CALL S5
EX DE,HL
LD C,E
JR S8_10
S5 LD A,47
S6 INC A
SBC HL,BC
JR NC,S6
ADD HL,BC
RST 16
RET
endif
CALC LD A,(HL)
CALCa RRA
RRA
RRA
AND 7
RET
COM7 DB 88,82,73,199,88,88,73,199,88,82,199,88,88,199,74
DB 71,199,73,86,210,89,73,204,73,73,204,82,74,166
DB 82,74,38,2,50,132
COMN DB 84,75,205,79,84,73,38,130,79,84,73,38,129,74
DB 75,73,38,129,82,74,38,1,50,131
COMR DB 88,75,90,212,88,75,90,207,71,74,74,38,0,50,130
COML DB 82,74,38,1,178,74,75,73,38,130
RP DB 72,201,74,203,78,210,89,214
COM5 DB 86,91,89,78,38,130,73,71,82,82,38,132,86,91,89,78
COMJ DB 38,130,88,75,90,38,134,86,91,89,78,38,130,80,86,38
DB 6,50,132,86,91,89,78,38,71,204,73,71,82,82,38,6,50
DB 132
COMH DB 78,71,82,218,79,83,166,88,89,90,166
CC DB 84,224,224,84,201,201,86,213,86,203,214,211
COM0 DB 84,85,214,75,94,38,71,76,50,71,76,173,74,80,84,96
DB 38,133,80,88,38,133,80,88,38,84,96,50,133,80,88,38
DB 96,50,133,80,88,38,84,73,50,133,80,88,38,73,50,133
COM DB 71,74,74,38,71,178,71,74,73,38,71,178,89,91,72,166
DB 89,72,73,38,71,178,71,84,74,166,94,85,88,166,85,88
DB 166,73,86,166
COMB DB 88,82,201,88,88,201,88,210,88,216,89,82,199,89,88
DB 199,89,82,207,89,88,210,72,79,90,166,88,75,89,166
DB 89,75,90,166
COM3 DB 80,86,38,132,166,85,91,90,38,46,3,47,50,199,79,84
DB 38,71,50,46,3,175,75,94,38,46,89,86,47,50,128,75,94
DB 38,74,75,50,128,74,207,75,207
COM1 DB 86,85,86,38,130,88,75,218,86,85,86,38,130,75,94,222
DB 86,85,86,38,130,80,86,38,46,0,175,86,85,86,38,71
DB 204,82,74,38,2,50,128
COME DB 82,74,38,79,50,199,82,74,38,88,50,199,82,74,38,71
DB 50,207,82,74,38,71,50,216,88,88,202,88,82,202,166
DB 166
COMI DB 79,84,38,1,50,46,73,175,85,91,90,38,46,73,47,50,129
DB 89,72,73,38,0,50,130,82,74,38,46,4,47,178,71,74
DB 73,38,0,50,130,82,74,38,2,50,46,4,175
COMM DB 82,74,207,73,86,207,79,84,207,85,91,90,207,82,74,79
DB 216,73,86,79,216,79,84,79,216,85,90,79,216,82,74
DB 202,73,86,202,79,84,202,85,91,90,202,82,74,74,216
DB 73,86,74,216,79,84,74,216,85,90,74,216
COM2 DB 46,2,47,50,199,71,50,46,2,175,46,2,47,50,199,71,50
DB 46,2,175,46,4,47,50,128,0,50,46,4,175,46,4,47,50
DB 199,71,50,46,4,175
;COUNT Z80 COMMAND LENGTH
LEN PUSH HL
LD E,64
LD BC,#0301;769
LNX LD D,(HL)
LD A,D
CP 221
JR NZ,LENL1
LENL0 INC HL
INC C
INC B
JR LNX
LENL1
CP 253
JR Z,LENL0
CP 205
JR Z,LENend
CP 195
JR Z,LENend
DEC B
CP 203
JR Z,LENend
CP 211
JR Z,LENend
CP 219
JR Z,LENend
CP 237
JR NZ,LENL2
INC HL
LD A,(HL)
RLA
LD A,(HL)
POP HL
RET C
AND 7
CP 3
RET NZ
INC B
INC B
RET
LENL2
AND 7
JR NZ,LENL6
LD A,D
CP 16
JR C,LENendB1
LNY CP E
JR LENL7
LENL6
CP 6
JR NZ,LENL5
LD A,D
SUB E
LENrlaL7
RLA
LENL7
JR C,LENend
LENendB1
LD B,1
LENend
POP HL
DEC C
RET Z
INC B
LD A,D
CP 203
JR Z,LENINCB
CP 52
JR C,LENL3
CP 55
CCF
JR LENretcINCB
LENL3
AND 7
CP 6
JR NZ,LENL4
LD A,D
ADD A,E
RLA
LENretcINCB
RET C
LENINCB
INC B
RET
LENL4
XOR D
CP 112
RET NZ
INC B
RET
LENL5
INC B
CP 2
JR NZ,LENL8
LD A,D
ADD A,E
JR C,LENend
CP 96
JR C,LENendB1
CPL
JR LENrlaL7
LENL8
CP 4
LD A,D
JR NZ,LENL9
ADD A,E
JR LENL7
LENL9
AND 15
DEC A
JR NZ,LENendB1
LD A,D
JR LNY