summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo C2020-02-21 15:20:52 +0100
committerLeo C2020-02-21 15:20:52 +0100
commita6f1f1cde59f0ba4890059a0a476be7ff4a68d49 (patch)
tree09734c1eaa691b1fba235a120abb5fa711daf49b
parentabf2aad5a59256b7b43e16360a9c0f9ed7da9e1f (diff)
downloadddt180-a6f1f1cde59f0ba4890059a0a476be7ff4a68d49.zip
disas: add HD64180 instructions
-rw-r--r--ddt180.z8036
1 files changed, 27 insertions, 9 deletions
diff --git a/ddt180.z80 b/ddt180.z80
index 41457bf..07ca9eb 100644
--- a/ddt180.z80
+++ b/ddt180.z80
@@ -2871,15 +2871,15 @@ TRYMAT:
JR NEWMOD ;Change, get a new mode
GETNDX:
- LD A,(HL) ;Matched, fetch mnemonic index
- AND 07Fh
DEC B ;Restore the mode byte
+ LD A,(HL) ;Matched, fetch mnemonic index
+ AND 07Fh ;Z flag
TABEND:
push af ;save Z flag
- cp i_opc_bli
- jr c,tabe_0
ld l,a
+ cp i_opc_bli ;block instruction?
+ jr c,tabe_0
ld a,c
and 03h
add a,l
@@ -2887,21 +2887,20 @@ TABEND:
ld a,c
rra
and 0ch
- add a,l
jr tabe_1
tabe_0:
cp i_opc_alu
- jr c,tabe_1
+ jr c,tabe_2
bit 7,b
- jr nz,tabe_1
- ld l,a
+ jr nz,tabe_2
ld a,c
rra
rra
rra
and 07h
- add a,l
tabe_1:
+ add a,l
+tabe_2:
PUSH DE ;save source pointer
ld de,disasbuf ;buffer pointer
LD HL,t_MNEMONICS
@@ -3086,16 +3085,33 @@ GROUP3:
DB 04Eh,i_? ; (IM 0)
DB 067h,i_RRD ; RRD
DB 06Fh,i_RLD ; RLD
+ DB 076h,i_SLP ; slp
+ DB 083h,i_OTIM ; otim
+ DB 093h,i_OTIMR ; otimr
+ DB 08Bh,i_OTDM ; otdm
+ DB 09Bh,i_OTDMR ; otdmr
+ DB 031h,i_? ; (OUT0 (m),0)
DB 071h,i_?+80h ; (OUT (C),0)
+ DB 009h
+ DB 030h,i_IN0+80h ; in0 (m)
+ DB 002h
+ DB 064h,i_TST ; tst m
+ DB 074h,i_TSTIO+80h ; tstio m
DB 080h
DB 070h,i_IN+80h ; IN (C)
DB 0FFh
DB 0C7h
+ DB 00bh
+ DB 004h,i_TST+80h ; tst r
DB 0B8h
DB 040h,i_IN+80h ; IN r,(C)
+ DB 0B9h
+ DB 000h,i_IN0+80h ; IN0 r,(m)
DB 08Bh ;
DB 041h,i_OUT+80h ; OUT (C),r
+ DB 09Bh ;
+ DB 001h,i_OUT0+80h ; OUT0 (m),r
DB 0FFh ;
;
DB 0CFh ;
@@ -3106,6 +3122,8 @@ GROUP3:
DB 043h,i_LD+80h ; LD (nn),rp
DB 0DAh ;
DB 04Bh,i_LD+80h ; LD rp,(nn)
+ DB 00Dh
+ DB 04Ch,i_MLT+80h ;mlt rp
DB 0FFh ;
;
DB 0E7h ;