summaryrefslogtreecommitdiff
path: root/decoders/z80/pd.py
diff options
context:
space:
mode:
authorDaniel Elstner <daniel.kitta@gmail.com>2014-02-28 21:03:23 +0100
committerDaniel Elstner <daniel.kitta@gmail.com>2014-02-28 21:03:23 +0100
commit739f9313539c559949748d918e59865496ad8f6e (patch)
tree25d6541a7e3947bae64fee61c3be3cf31725ca82 /decoders/z80/pd.py
parente029ab1f6ff7fc8e06a4869417a875136318515f (diff)
downloadlibsigrokdecode-739f9313539c559949748d918e59865496ad8f6e.tar.gz
libsigrokdecode-739f9313539c559949748d918e59865496ad8f6e.zip
z80: Fix display of read/modify/write instructions.
Diffstat (limited to 'decoders/z80/pd.py')
-rw-r--r--decoders/z80/pd.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/decoders/z80/pd.py b/decoders/z80/pd.py
index 60c672f..8fadff5 100644
--- a/decoders/z80/pd.py
+++ b/decoders/z80/pd.py
@@ -319,14 +319,15 @@ class Decoder(srd.Decoder):
def on_state_ROP1(self):
self.arg_read = self.pend_data
+ if self.want_read < 2:
+ self.mnemonic = '{ro:02X}'
+ self.ann_dasm = Ann.ROP
if self.want_write > 0:
return OpState.WOP1
if self.want_read > 1:
return OpState.ROP2
if self.op_repeat and self.prev_cycle in (Cycle.MEMRD, Cycle.IORD):
return OpState.ROP1
- self.mnemonic = '{ro:02X}'
- self.ann_dasm = Ann.ROP
return OpState.RESTART
def on_state_ROP2(self):
@@ -343,11 +344,11 @@ class Decoder(srd.Decoder):
return OpState.ROP2
if self.want_write > 1:
return OpState.WOP2
+ self.mnemonic = '{wo:02X}'
+ self.ann_dasm = Ann.WOP
if self.want_read > 0 and self.op_repeat and \
self.prev_cycle in (Cycle.MEMRD, Cycle.IORD):
return OpState.ROP1
- self.mnemonic = '{wo:02X}'
- self.ann_dasm = Ann.WOP
return OpState.RESTART
def on_state_WOP2(self):