mirror of
https://github.com/pevans/erc-c.git
synced 2025-02-21 04:29:10 +00:00
Better testing for ROL/ROR
This commit is contained in:
parent
0949661b18
commit
0315eb33bf
@ -115,9 +115,16 @@ Test(mos6502_bits, ora)
|
|||||||
|
|
||||||
Test(mos6502_bits, rol)
|
Test(mos6502_bits, rol)
|
||||||
{
|
{
|
||||||
mos6502_handle_rol(cpu, 8);
|
cpu->P = 0;
|
||||||
cr_assert_eq(cpu->A, 17);
|
cpu->A = 0xff;
|
||||||
|
mos6502_handle_rol(cpu, cpu->A);
|
||||||
|
cr_assert_eq(cpu->P & MOS_CARRY, MOS_CARRY);
|
||||||
|
cr_assert_eq(cpu->A, 0xfe);
|
||||||
|
mos6502_handle_rol(cpu, cpu->A);
|
||||||
|
cr_assert_eq(cpu->P & MOS_CARRY, MOS_CARRY);
|
||||||
|
cr_assert_eq(cpu->A, 0xfd);
|
||||||
|
|
||||||
|
cpu->P = 0;
|
||||||
cpu->eff_addr = 234;
|
cpu->eff_addr = 234;
|
||||||
mos6502_handle_rol(cpu, 128);
|
mos6502_handle_rol(cpu, 128);
|
||||||
cr_assert_eq(mos6502_get(cpu, 234), 0);
|
cr_assert_eq(mos6502_get(cpu, 234), 0);
|
||||||
@ -125,9 +132,16 @@ Test(mos6502_bits, rol)
|
|||||||
|
|
||||||
Test(mos6502_bits, ror)
|
Test(mos6502_bits, ror)
|
||||||
{
|
{
|
||||||
mos6502_handle_ror(cpu, 64);
|
cpu->P = 0;
|
||||||
cr_assert_eq(cpu->A, 160);
|
cpu->A = 0xff;
|
||||||
|
mos6502_handle_ror(cpu, cpu->A);
|
||||||
|
cr_assert_eq(cpu->P & MOS_CARRY, MOS_CARRY);
|
||||||
|
cr_assert_eq(cpu->A, 0x7f);
|
||||||
|
mos6502_handle_ror(cpu, cpu->A);
|
||||||
|
cr_assert_eq(cpu->P & MOS_CARRY, MOS_CARRY);
|
||||||
|
cr_assert_eq(cpu->A, 0xbf);
|
||||||
|
|
||||||
|
cpu->P = 0;
|
||||||
cpu->eff_addr = 123;
|
cpu->eff_addr = 123;
|
||||||
mos6502_handle_ror(cpu, 1);
|
mos6502_handle_ror(cpu, 1);
|
||||||
mos6502_handle_ror(cpu, 0);
|
mos6502_handle_ror(cpu, 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user