void Tester_68k::sampleNot() { Results* oObj; MemoryBlock* oSampleMem; oObj = new Results("NOT.B D0"); oObj->setRegD(0, 0x12345687); oObj->setN(); oObj->setCycleCount(4); oObj = new Results("NOT.W D0"); oObj->setRegD(0, 0x1234ffff); oObj->setN()->setX(); oObj->setCycleCount(4); oObj = new Results("NOT.L D0"); oObj->setRegD(0, 0x000000ff); oObj->setX(); oObj->setCycleCount(6); oObj->setIrqSampleCyclePos(2); oObj = new Results("NOT.L ($3000).L"); oObj->setX(); oSampleMem = new MemoryBlock(); oSampleMem->writeLong(0x3000, 0x0ffedcee); oObj->setCodeBlock(oSampleMem); oObj->setCycleCount(28); }
void Tester_68k::sampleEor() { Results* oObj; MemoryBlock* oSampleMem; oObj = new Results("eor.w D4, D3"); oObj->setRegD(3, 0x54ff0056); oObj->setRegD(4, 0x9853ab9b); oObj->setX()->setN(); oObj->setCycleCount(4); oObj = new Results("eor.l D3, (A2)"); oObj->setRegD(3, 0x54ff0056); oObj->setRegA(2, 0x3000); oSampleMem = new MemoryBlock(); oSampleMem->writeLong(0x3000, 0x5bf00f47); oObj->setCodeBlock(oSampleMem); oObj->setCycleCount(20); }
void Tester_68k::sampleNeg() { Results* oObj; MemoryBlock* oSampleMem; oObj = new Results("NEG.B D0"); oObj->setRegD(0, 0x12345688); oObj->setC()->setX()->setN(); oObj->setCycleCount(4); oObj = new Results("NEG.B D0 alt"); oObj->setRegD(0, 0x12345600); oObj->setZ(); oObj->setCycleCount(4); oObj = new Results("NEG.B D0 overflow"); oObj->setRegD(0, 0x12345680); oObj->setC()->setX()->setN()->setV(); oObj->setCycleCount(4); oObj = new Results("NEG.W D0 overflow"); oObj->setRegD(0, 0x12348000); oObj->setC()->setX()->setN()->setV(); oObj->setCycleCount(4); oObj = new Results("NEG.L D0"); oObj->setRegD(0, 0xedcba988); oObj->setC()->setX()->setN(); oObj->setCycleCount(6); oObj->setIrqSampleCyclePos(2); oObj = new Results("NEG.L D0 alt"); oObj->setRegD(0, 0x1); oObj->setC()->setX(); oObj->setCycleCount(6); oObj->setIrqSampleCyclePos(2); oObj = new Results("NEG.L ($3000).L"); oObj->setC()->setX(); oSampleMem = new MemoryBlock(); oSampleMem->writeLong(0x3000, 0x0ffedcef); oObj->setCodeBlock(oSampleMem); oObj->setCycleCount(28); }
void Tester_68k::sampleMove() { Results* oObj; MemoryBlock* oSampleMem; oObj = new Results("MOVE.B D1, D2"); oObj->setRegD(1, 0x12345678); oObj->setRegD(2, 0x78); oObj->setCycleCount(4); oObj = new Results("MOVE.L #$8090fea1, D2"); oObj->setRegD(2, 0x8090fea1); oObj->setN(); oObj->setCycleCount(12); oObj = new Results("MOVE #$0, (A2)"); oObj->setRegA(2, 0x3000); oObj->setZ(); oSampleMem = new MemoryBlock(); oSampleMem->writeWord(0x3000, 0); oObj->setCodeBlock(oSampleMem); oObj->setCycleCount(12); oObj = new Results("MOVE.L (A2)+, (A2)+"); oObj->setRegA(2, 0x3008); oObj->setN(); oSampleMem = new MemoryBlock(); oSampleMem->writeLong(0x3000, 0xaaaabbbb); oSampleMem->writeLong(0x3004, 0xaaaabbbb); oObj->setCodeBlock(oSampleMem); oObj->setCycleCount(20); oObj = new Results("MOVE.L (A2)+, -(A2)"); oObj->setRegA(2, 0x3000); oObj->setN(); oSampleMem = new MemoryBlock(); oSampleMem->writeLong(0x3000, 0xaaaabbbb); oSampleMem->writeLong(0x3004, 0x0); oObj->setCodeBlock(oSampleMem); oObj->setCycleCount(20); oObj = new Results("MOVE.L -(A2), 4(A2,D1)"); oObj->setRegA(2, 0x3000); oObj->setRegD(1, 0); oObj->setN(); oSampleMem = new MemoryBlock(); oSampleMem->writeLong(0x3000, 0xaaaabbbb); oSampleMem->writeLong(0x3004, 0xaaaabbbb); oObj->setCodeBlock(oSampleMem); oObj->setCycleCount(28); oObj = new Results("MOVE.W D1, ($3000).L"); oObj->setRegD(1, 0x5678); oSampleMem = new MemoryBlock(); oSampleMem->writeWord(0x3000, 0x5678); oSampleMem->writeWord(0x3002, 0); oObj->setCodeBlock(oSampleMem); oObj->setCycleCount(16); oObj = new Results("MOVE.L ($3000).L, ($3004).L"); oSampleMem = new MemoryBlock(); oSampleMem->writeLong(0x3000, 0xeeee); oSampleMem->writeLong(0x3004, 0xeeee); oObj->setCodeBlock(oSampleMem); oObj->setCycleCount(36); }