diff --git a/src/devices/cpu/z180/z180ops.h b/src/devices/cpu/z180/z180ops.h index 7cd97f93e57..1391dc52de9 100644 --- a/src/devices/cpu/z180/z180ops.h +++ b/src/devices/cpu/z180/z180ops.h @@ -184,7 +184,8 @@ uint32_t z180_device::ARG16() } \ else \ { \ - _PC += 2; \ + (void)ARG(); \ + _PC++; \ } /*************************************************************** @@ -200,13 +201,14 @@ uint32_t z180_device::ARG16() * JR_COND ***************************************************************/ #define JR_COND(cond,opcode) \ +{ \ + int8_t arg = (int8_t)ARG(); /* ARG() also increments _PC */ \ if( cond ) \ { \ - int8_t arg = (int8_t)ARG(); /* ARG() also increments _PC */ \ _PC += arg; /* so don't do _PC += ARG() */ \ CC(ex,opcode); \ } \ - else _PC++; +} /*************************************************************** * CALL ***************************************************************/ @@ -228,7 +230,8 @@ uint32_t z180_device::ARG16() } \ else \ { \ - _PC+=2; \ + (void)ARG(); \ + _PC++; \ } /***************************************************************