diff options
Diffstat (limited to 'src/devices/cpu/z8/z8dasm.cpp')
-rw-r--r-- | src/devices/cpu/z8/z8dasm.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/devices/cpu/z8/z8dasm.cpp b/src/devices/cpu/z8/z8dasm.cpp index 35d18fab880..08e50ca1eae 100644 --- a/src/devices/cpu/z8/z8dasm.cpp +++ b/src/devices/cpu/z8/z8dasm.cpp @@ -39,6 +39,7 @@ const char *const z8_disassembler::CONDITION_CODE[16] = ***************************************************************************/ #define r "R%u" +#define rr "RR%u" #define Ir "@R%u" #define R "%02Xh" #define RR "%02Xh" @@ -64,7 +65,7 @@ const char *const z8_disassembler::CONDITION_CODE[16] = #define arg_Ir(_value) ARG(Ir, _value) #define arg_Irr(_value) ARG(Irr, _value & 0x0f) #define arg_R(_value) if ((_value & 0xf0) == 0xe0) ARG(r, _value & 0x0f) else if ((_value < 4) || (_value >= 0xf0)) arg_name(_value) else ARG(R, _value) -#define arg_RR(_value) if ((_value & 0xf0) == 0xe0) ARG(r, _value & 0x0f) else ARG(R, _value) +#define arg_RR(_value) if ((_value & 0xf0) == 0xe0) ARG(rr, _value & 0x0f) else ARG(R, _value) #define arg_IR(_value) if ((_value & 0xf0) == 0xe0) ARG(Ir, _value & 0x0f) else ARG(IR, _value) #define arg_IRR(_value) if ((_value & 0xf0) == 0xe0) ARG(Irr, _value & 0x0f) else ARG(IRR, _value) #define arg_IM(_value) ARG(IM, _value) @@ -366,7 +367,7 @@ offs_t z8_disassembler::disassemble(std::ostream &stream, offs_t pc, const data_ case 0xf2: illegal; break; case 0xf3: mnemonic("LD"); arg_Ir(B0H); arg_r(B0L); bytes(2); break; case 0xf4: illegal; break; - case 0xf5: mnemonic("LD"); arg_IR(B0); arg_R(B1); bytes(3); break; + case 0xf5: mnemonic("LD"); arg_IR(B1); arg_R(B0); bytes(3); break; case 0xf6: illegal; break; case 0xf7: illegal; break; case 0xf8: mnemonic("LD"); arg_r(OPH); arg_R(B0); bytes(2); break; |