Exemplo n.º 1
0
    def test_disassemble_will_disassemble_one_address(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon._mpu.memory[0xc000] = 0xEA  # => NOP
        mon._mpu.step()
        mon.do_disassemble("c000")

        out = stdout.getvalue()
        disasm = "$c000  ea        NOP\n"
        self.assertEqual(out, disasm)
Exemplo n.º 2
0
    def test_disassemble_will_disassemble_one_address(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon._mpu.memory[0xc000] = 0xEA  # => NOP
        mon._mpu.step()
        mon.do_disassemble("c000")

        out = stdout.getvalue()
        disasm = "$c000  ea        NOP\n"
        self.assertEqual(out, disasm)
Exemplo n.º 3
0
    def test_disassemble_wraps_an_instruction_around_memory(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon._mpu.memory[0xffff] = 0x20  # => JSR
        mon._mpu.memory[0x0000] = 0xD2  #
        mon._mpu.memory[0x0001] = 0xFF  # => $FFD2
        mon.do_disassemble("ffff")

        out = stdout.getvalue()
        disasm = "$ffff  20 d2 ff  JSR $ffd2\n"
        self.assertEqual(out, disasm)
Exemplo n.º 4
0
    def test_disassemble_wraps_an_instruction_around_memory(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon._mpu.memory[0xffff] = 0x20  # => JSR
        mon._mpu.memory[0x0000] = 0xD2  #
        mon._mpu.memory[0x0001] = 0xFF  # => $FFD2
        mon.do_disassemble("ffff")

        out = stdout.getvalue()
        disasm = "$ffff  20 d2 ff  JSR $ffd2\n"
        self.assertEqual(out, disasm)
Exemplo n.º 5
0
 def test_disassemble_wraps_disassembly_list_around_memory(self):
     stdout = StringIO()
     mon = Monitor(stdout=stdout)
     mon._mpu.memory[0xFFFF] = 0x20  # => JSR
     mon._mpu.memory[0x0000] = 0xD2
     mon._mpu.memory[0x0001] = 0xFF  # => $FFD2
     mon._mpu.memory[0x0002] = 0x20  # => JSR
     mon._mpu.memory[0x0003] = 0xE4
     mon._mpu.memory[0x0004] = 0xFF  # => $FFE4
     mon._mpu.memory[0x0005] = 0xEA  # => NOP
     mon.do_disassemble("ffff:5")
     out = stdout.getvalue()
     disasm = "$ffff  20 d2 ff  JSR $ffd2\n" "$0002  20 e4 ff  JSR $ffe4\n" "$0005  ea        NOP\n"
     self.assertEqual(out, disasm)
Exemplo n.º 6
0
 def test_disassemble_wraps_disassembly_list_around_memory(self):
     stdout = StringIO()
     mon = Monitor(stdout=stdout)
     mon._mpu.memory[0xffff] = 0x20  # => JSR
     mon._mpu.memory[0x0000] = 0xD2
     mon._mpu.memory[0x0001] = 0xFF  # => $FFD2
     mon._mpu.memory[0x0002] = 0x20  # => JSR
     mon._mpu.memory[0x0003] = 0xE4
     mon._mpu.memory[0x0004] = 0xFF  # => $FFE4
     mon._mpu.memory[0x0005] = 0xEA  # => NOP
     mon.do_disassemble("ffff:5")
     out = stdout.getvalue()
     disasm = ("$ffff  20 d2 ff  JSR $ffd2\n"
               "$0002  20 e4 ff  JSR $ffe4\n"
               "$0005  ea        NOP\n")
     self.assertEqual(out, disasm)
Exemplo n.º 7
0
 def test_disassemble_shows_help_when_given_extra_args(self):
     stdout = StringIO()
     mon = Monitor(stdout=stdout)
     mon.do_disassemble("c000 c001")
     out = stdout.getvalue()
     self.assertTrue(out.startswith('disassemble <address_range>'))
Exemplo n.º 8
0
 def test_disassemble_shows_help_when_given_extra_args(self):
     stdout = StringIO()
     mon = Monitor(stdout=stdout)
     mon.do_disassemble("c000 c001")
     out = stdout.getvalue()
     self.assertTrue(out.startswith('disassemble <address_range>'))