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");