diff options
author | Leo C | 2020-02-22 14:04:10 +0100 |
---|---|---|
committer | Leo C | 2020-02-22 15:21:57 +0100 |
commit | 2cf71a6bc2f529887e54c5ed3564fe3195001164 (patch) | |
tree | c176068c0ca0134004c0eeac78b0f7f8ec2ac2be | |
parent | a6f1f1cde59f0ba4890059a0a476be7ff4a68d49 (diff) | |
download | ddt180-2cf71a6bc2f529887e54c5ed3564fe3195001164.zip |
disas opt
-rw-r--r-- | ddt180.z80 | 104 |
1 files changed, 41 insertions, 63 deletions
@@ -2902,12 +2902,10 @@ tabe_1: add a,l
tabe_2:
PUSH DE ;save source pointer
- ld de,disasbuf ;buffer pointer
- LD HL,t_MNEMONICS
+ ld hl,disasbuf ;buffer pointer
+ LD de,t_MNEMONICS
CALL XTRACT ;copy mnemonic to buffer
-
- ex de,hl
- LD DE,disasbuf+5
+ LD de,disasbuf+5
da_spaces:
ld (hl),' '
inc hl
@@ -3337,14 +3335,16 @@ OPRND2: DJNZ DAT8 ;1?
;RELADR:
CALL FETCH
- LD C,A
- RLA
- SBC A,A
- LD B,A
- EX DE,HL
- PUSH HL
- ADD HL,BC
- JR DHL
+ ld c,a
+ rla
+ sbc a,a
+ ld b,a
+ ld a,c
+ add a,e
+ ld c,a
+ ld a,b
+ adc a,d
+ jr conv_ac
CONDIT:
RRA
@@ -3365,18 +3365,12 @@ DAT8: D8:
CALL FETCH
DA:
- EX DE,HL
- call conv_hex
- EX DE,HL
- RET
+ jr conv_hex
BITNUM:
DJNZ INTMOD ;3?
AND 7
- EX DE,HL
- call conv_dgt
- EX DE,HL
- RET
+ jr conv_dgt
DAT16:
DJNZ EXAF
@@ -3384,18 +3378,28 @@ D16: CALL FETCH
LD C,A
CALL FETCH
-;DAC:
- EX DE,HL
- PUSH HL
- LD H,A
- LD L,C
-
-DHL:
- CALL conv_hl
- POP HL
- EX DE,HL
- RET
+conv_ac:
+ call conv_hex
+ ld a,c
+conv_hex:
+ push af
+ rra
+ rra
+ rra
+ rra
+ call conv_dgt
+ pop af
+conv_dgt:
+ or 0f0h
+ daa
+ add a,0a0h
+ adc a,040h
+ LD (HL),A
+ INC HL
+ ret
+
+;-------------------------------------------------------------------------------
INTMOD:
DJNZ STKTOP ;4?
@@ -3418,17 +3422,14 @@ STKTOP: DEC A
JR RNX
-
EXAF:
LD C,10
DEC B
JR Z,PS2
-
;EXDE:
INC C
DEC B
JR Z,PS2
-
;REG8S:
DJNZ ACCUM
@@ -3522,40 +3523,16 @@ REGX: LD A,(iy+1)
ADD A,16
PS4:
- EX DE,HL
- PUSH HL
- LD HL,RGSTRS
+ PUSH de
+ LD de,RGSTRS
CALL XTRACT
- POP HL
- EX DE,HL
+ POP de
RET
;-------------------------------------------------------------------------------
-conv_hl:
- ld a,h
- call conv_hex
- ld a,l
-conv_hex:
- push af
- rra
- rra
- rra
- rra
- call conv_dgt
- pop af
-conv_dgt:
- or 0f0h
- daa
- add a,0a0h
- adc a,040h
- LD (DE),A
- INC DE
- ret
-
-;-------------------------------------------------------------------------------
-
XTRACT:
+ ex de,hl
OR A
JR Z,COPY
SKIP:
@@ -3573,6 +3550,7 @@ COPY: INC DE
INC HL
JR NC,COPY
+ ex de,hl
RET
;-------------------------------------------------------------------------------
|