Example #1
0
    def testDecode(self):
        op = SingleOpcodeDecoder("00000000 1 NOP");
        self.assertEquals(str(op.decode([0], address.fromPhysical(0))), "NOP");

        op = SingleOpcodeDecoder("11100110 2 AND   A, v8");
        self.assertEquals(str(op.decode([0b11100110, 0xfa], address.fromPhysical(0))).strip().upper(), "AND\tA, 0XFA");

        op = SingleOpcodeDecoder("11100000 3 LD    [FF00+v8], A");
        self.assertEquals(str(op.decode([0b11100000, 0xfa], address.fromPhysical(0))).strip().upper(), "LD\t[(V):FFFA], A");

        op = SingleOpcodeDecoder("001FF000 2 JP    v8_rel, #F");
        self.assertEquals(str(op.decode([0b00100000, 0x10], address.fromPhysical(0x100))).strip().upper(), "JP\t0000:0112, FNZ");

        op = SingleOpcodeDecoder("00001000 5 LD16  [v16], SP");
        self.assertEquals(str(op.decode([0b00001000, 0xAA,0xBB], address.fromPhysical(0x100))).strip().upper(), "LD16\t[(V):BBAA], SP");