]> sigrok.org Git - libsigrokdecode.git/commitdiff
z80: Fix display of read/modify/write instructions.
authorDaniel Elstner <redacted>
Fri, 28 Feb 2014 20:03:23 +0000 (21:03 +0100)
committerDaniel Elstner <redacted>
Fri, 28 Feb 2014 20:03:23 +0000 (21:03 +0100)
decoders/z80/pd.py

index 60c672f5e17ed52f0b146d28cfd5b7410cfc0b93..8fadff59afa1680a1c17d36e9bfe82c98ff897ec 100644 (file)
@@ -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):