diff options
| author | 2026-05-16 01:16:15 -0700 | |
|---|---|---|
| committer | 2026-05-16 10:16:15 +0200 | |
| commit | 4d4da6bcd6d4537849893fd8bdd675f9ad5f166c (patch) | |
| tree | b15f4eb76d62273c85aeed8b0af44f66ab7a1099 /src | |
| parent | 2ebb363b1eea6748f9085fad77eab3d001c0c08b (diff) | |
upd7810: fix SET_Z on OFFI/ONI instructions (#15343)
Diffstat (limited to 'src')
| -rw-r--r-- | src/devices/cpu/upd7810/upd7810_opcodes.cpp | 160 |
1 files changed, 80 insertions, 80 deletions
diff --git a/src/devices/cpu/upd7810/upd7810_opcodes.cpp b/src/devices/cpu/upd7810/upd7810_opcodes.cpp index 49c3b6b38bf..61d71f54551 100644 --- a/src/devices/cpu/upd7810/upd7810_opcodes.cpp +++ b/src/devices/cpu/upd7810/upd7810_opcodes.cpp @@ -3550,8 +3550,8 @@ void upd7810_device::ONI_PA_xx() uint8_t pa = RP( UPD7810_PORTA ), imm; RDOPARG( imm ); - if (pa & imm) - PSW |= SK; + SET_Z( pa & imm ); + SKIP_NZ; } /* 64 49: 0110 0100 0100 1001 xxxx xxxx */ @@ -3560,8 +3560,8 @@ void upd7810_device::ONI_PB_xx() uint8_t pb = RP( UPD7810_PORTB ), imm; RDOPARG( imm ); - if (pb & imm) - PSW |= SK; + SET_Z( pb & imm ); + SKIP_NZ; } /* 64 4a: 0110 0100 0100 1010 xxxx xxxx */ @@ -3570,8 +3570,8 @@ void upd7810_device::ONI_PC_xx() uint8_t pc = RP( UPD7810_PORTC ), imm; RDOPARG( imm ); - if (pc & imm) - PSW |= SK; + SET_Z( pc & imm ); + SKIP_NZ; } /* 64 4b: 0110 0100 0100 1011 xxxx xxxx */ @@ -3580,8 +3580,8 @@ void upd7810_device::ONI_PD_xx() uint8_t pd = RP( UPD7810_PORTD ), imm; RDOPARG( imm ); - if (pd & imm) - PSW |= SK; + SET_Z( pd & imm ); + SKIP_NZ; } /* 64 4d: 0110 0100 0100 1101 xxxx xxxx */ @@ -3590,8 +3590,8 @@ void upd7810_device::ONI_PF_xx() uint8_t pf = RP( UPD7810_PORTF ), imm; RDOPARG( imm ); - if (pf & imm) - PSW |= SK; + SET_Z( pf & imm ); + SKIP_NZ; } /* 64 4e: 0110 0100 0100 1110 xxxx xxxx */ @@ -3600,8 +3600,8 @@ void upd7810_device::ONI_MKH_xx() uint8_t imm; RDOPARG( imm ); - if (MKH & imm) - PSW |= SK; + SET_Z( MKH & imm ); + SKIP_NZ; } /* 64 4f: 0110 0100 0100 1111 xxxx xxxx */ @@ -3610,8 +3610,8 @@ void upd7810_device::ONI_MKL_xx() uint8_t imm; RDOPARG( imm ); - if (MKL & imm) - PSW |= SK; + SET_Z( MKL & imm ); + SKIP_NZ; } /* 64 50: 0110 0100 0101 0000 xxxx xxxx */ @@ -3702,8 +3702,8 @@ void upd7810_device::OFFI_PA_xx() uint8_t pa = RP( UPD7810_PORTA ), imm; RDOPARG( imm ); - if (0 == (pa & imm)) - PSW |= SK; + SET_Z( pa & imm ); + SKIP_Z; } /* 64 59: 0110 0100 0101 1001 xxxx xxxx */ @@ -3712,8 +3712,8 @@ void upd7810_device::OFFI_PB_xx() uint8_t pb = RP( UPD7810_PORTB ), imm; RDOPARG( imm ); - if (0 == (pb & imm)) - PSW |= SK; + SET_Z( pb & imm ); + SKIP_Z; } /* 64 5a: 0110 0100 0101 1010 xxxx xxxx */ @@ -3722,8 +3722,8 @@ void upd7810_device::OFFI_PC_xx() uint8_t pc = RP( UPD7810_PORTC ), imm; RDOPARG( imm ); - if (0 == (pc & imm)) - PSW |= SK; + SET_Z( pc & imm ); + SKIP_Z; } /* 64 5b: 0110 0100 0101 1011 xxxx xxxx */ @@ -3732,8 +3732,8 @@ void upd7810_device::OFFI_PD_xx() uint8_t pd = RP( UPD7810_PORTD ), imm; RDOPARG( imm ); - if (0 == (pd & imm)) - PSW |= SK; + SET_Z( pd & imm ); + SKIP_Z; } /* 64 5d: 0110 0100 0101 1101 xxxx xxxx */ @@ -3742,8 +3742,8 @@ void upd7810_device::OFFI_PF_xx() uint8_t pf = RP( UPD7810_PORTF ), imm; RDOPARG( imm ); - if (0 == (pf & imm)) - PSW |= SK; + SET_Z( pf & imm ); + SKIP_Z; } /* 64 5e: 0110 0100 0101 1110 xxxx xxxx */ @@ -3752,8 +3752,8 @@ void upd7810_device::OFFI_MKH_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (MKH & imm)) - PSW |= SK; + SET_Z( MKH & imm ); + SKIP_Z; } /* 64 5f: 0110 0100 0101 1111 xxxx xxxx */ @@ -3762,8 +3762,8 @@ void upd7810_device::OFFI_MKL_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (MKL & imm)) - PSW |= SK; + SET_Z( MKL & imm ); + SKIP_Z; } /* 64 60: 0110 0100 0110 0000 xxxx xxxx */ @@ -4508,8 +4508,8 @@ void upd7810_device::ONI_ANM_xx() uint8_t imm; RDOPARG( imm ); - if (ANM & imm) - PSW |= SK; + SET_Z( ANM & imm ); + SKIP_NZ; } /* 64 c9: 0110 0100 1100 1001 xxxx xxxx */ @@ -4518,8 +4518,8 @@ void upd7810_device::ONI_SMH_xx() uint8_t imm; RDOPARG( imm ); - if (SMH & imm) - PSW |= SK; + SET_Z( SMH & imm ); + SKIP_NZ; } /* 64 cb: 0110 0100 1100 1011 xxxx xxxx */ @@ -4530,8 +4530,8 @@ void upd7810_device::ONI_EOM_xx() uint8_t imm; RDOPARG( imm ); - if (eom & imm) - PSW |= SK; + SET_Z( eom & imm ); + SKIP_NZ; } /* 64 cd: 0110 0100 1100 1101 xxxx xxxx */ @@ -4540,8 +4540,8 @@ void upd7810_device::ONI_TMM_xx() uint8_t imm; RDOPARG( imm ); - if (TMM & imm) - PSW |= SK; + SET_Z( TMM & imm ); + SKIP_NZ; } /* 64 d0: 0110 0100 1101 0000 xxxx xxxx */ @@ -4601,8 +4601,8 @@ void upd7810_device::OFFI_ANM_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (ANM & imm)) - PSW |= SK; + SET_Z( ANM & imm ); + SKIP_Z; } /* 64 d9: 0110 0100 1101 1001 xxxx xxxx */ @@ -4611,8 +4611,8 @@ void upd7810_device::OFFI_SMH_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (SMH & imm)) - PSW |= SK; + SET_Z( SMH & imm ); + SKIP_Z; } /* 64 db: 0110 0100 1101 1011 xxxx xxxx */ @@ -4623,8 +4623,8 @@ void upd7810_device::OFFI_EOM_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (eom & imm)) - PSW |= SK; + SET_Z( eom & imm ); + SKIP_Z; } /* 64 dd: 0110 0100 1101 1101 xxxx xxxx */ @@ -4633,8 +4633,8 @@ void upd7810_device::OFFI_TMM_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (TMM & imm)) - PSW |= SK; + SET_Z( TMM & imm ); + SKIP_Z; } /* 64 e0: 0110 0100 1110 0000 xxxx xxxx */ @@ -6768,8 +6768,8 @@ void upd7810_device::ONI_V_xx() uint8_t imm; RDOPARG( imm ); - if (V & imm) - PSW |= SK; + SET_Z( V & imm ); + SKIP_NZ; } /* 74 49: 0111 0100 0100 1001 xxxx xxxx */ @@ -6778,8 +6778,8 @@ void upd7810_device::ONI_A_xx() uint8_t imm; RDOPARG( imm ); - if (A & imm) - PSW |= SK; + SET_Z( A & imm ); + SKIP_NZ; } /* 74 4a: 0111 0100 0100 1010 xxxx xxxx */ @@ -6788,8 +6788,8 @@ void upd7810_device::ONI_B_xx() uint8_t imm; RDOPARG( imm ); - if (B & imm) - PSW |= SK; + SET_Z( B & imm ); + SKIP_NZ; } /* 74 4b: 0111 0100 0100 1011 xxxx xxxx */ @@ -6798,8 +6798,8 @@ void upd7810_device::ONI_C_xx() uint8_t imm; RDOPARG( imm ); - if (C & imm) - PSW |= SK; + SET_Z( C & imm ); + SKIP_NZ; } /* 74 4c: 0111 0100 0100 1100 xxxx xxxx */ @@ -6808,8 +6808,8 @@ void upd7810_device::ONI_D_xx() uint8_t imm; RDOPARG( imm ); - if (D & imm) - PSW |= SK; + SET_Z( D & imm ); + SKIP_NZ; } /* 74 4d: 0111 0100 0100 1101 xxxx xxxx */ @@ -6818,8 +6818,8 @@ void upd7810_device::ONI_E_xx() uint8_t imm; RDOPARG( imm ); - if (E & imm) - PSW |= SK; + SET_Z( E & imm ); + SKIP_NZ; } /* 74 4e: 0111 0100 0100 1110 xxxx xxxx */ @@ -6828,8 +6828,8 @@ void upd7810_device::ONI_H_xx() uint8_t imm; RDOPARG( imm ); - if (H & imm) - PSW |= SK; + SET_Z( H & imm ); + SKIP_NZ; } /* 74 4f: 0111 0100 0100 1111 xxxx xxxx */ @@ -6838,8 +6838,8 @@ void upd7810_device::ONI_L_xx() uint8_t imm; RDOPARG( imm ); - if (L & imm) - PSW |= SK; + SET_Z( L & imm ); + SKIP_NZ; } /* 74 50: 0111 0100 0101 0000 xxxx xxxx */ @@ -6936,8 +6936,8 @@ void upd7810_device::OFFI_V_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (V & imm)) - PSW |= SK; + SET_Z( V & imm ); + SKIP_Z; } /* 74 59: 0111 0100 0101 1001 xxxx xxxx */ @@ -6946,8 +6946,8 @@ void upd7810_device::OFFI_A_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (A & imm)) - PSW |= SK; + SET_Z( A & imm ); + SKIP_Z; } /* 74 5a: 0111 0100 0101 1010 xxxx xxxx */ @@ -6956,8 +6956,8 @@ void upd7810_device::OFFI_B_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (B & imm)) - PSW |= SK; + SET_Z( B & imm ); + SKIP_Z; } /* 74 5b: 0111 0100 0101 1011 xxxx xxxx */ @@ -6966,8 +6966,8 @@ void upd7810_device::OFFI_C_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (C & imm)) - PSW |= SK; + SET_Z( C & imm ); + SKIP_Z; } /* 74 5c: 0111 0100 0101 1100 xxxx xxxx */ @@ -6976,8 +6976,8 @@ void upd7810_device::OFFI_D_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (D & imm)) - PSW |= SK; + SET_Z( D & imm ); + SKIP_Z; } /* 74 5d: 0111 0100 0101 1101 xxxx xxxx */ @@ -6986,8 +6986,8 @@ void upd7810_device::OFFI_E_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (E & imm)) - PSW |= SK; + SET_Z( E & imm ); + SKIP_Z; } /* 74 5e: 0111 0100 0101 1110 xxxx xxxx */ @@ -6996,8 +6996,8 @@ void upd7810_device::OFFI_H_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (H & imm)) - PSW |= SK; + SET_Z( H & imm ); + SKIP_Z; } /* 74 5f: 0111 0100 0101 1111 xxxx xxxx */ @@ -7006,8 +7006,8 @@ void upd7810_device::OFFI_L_xx() uint8_t imm; RDOPARG( imm ); - if (0 == (L & imm)) - PSW |= SK; + SET_Z( L & imm ); + SKIP_Z; } /* 74 60: 0111 0100 0110 0000 xxxx xxxx */ @@ -8432,8 +8432,8 @@ void upd7810_device::ONIW_wa_xx() RDOPARG( ea.b.l ); RDOPARG( imm ); - if (RM( ea.d ) & imm) - PSW |= SK; + SET_Z( RM( ea.d ) & imm ); + SKIP_NZ; } /* 46: 0100 0110 xxxx xxxx */ @@ -8565,8 +8565,8 @@ void upd7810_device::OFFIW_wa_xx() RDOPARG( ea.b.l ); RDOPARG( imm ); - if (0 == (RM( ea.d ) & imm)) - PSW |= SK; + SET_Z( RM( ea.d ) & imm ); + SKIP_Z; } /* 56: 0101 0110 xxxx xxxx */ |
