예제 #1
0
파일: monitor.py 프로젝트: ManuDIY/py65
 def _reset(self, mpu_type,getc_addr=0xF004,putc_addr=0xF001):
     self._mpu = mpu_type()
     self.addrWidth = self._mpu.ADDR_WIDTH
     self.byteWidth = self._mpu.BYTE_WIDTH
     self.addrFmt = self._mpu.ADDR_FORMAT
     self.byteFmt = self._mpu.BYTE_FORMAT
     self.addrMask = self._mpu.addrMask
     self.byteMask = self._mpu.byteMask
     self._install_mpu_observers(getc_addr,putc_addr)
     self._address_parser = AddressParser()
     self._disassembler = Disassembler(self._mpu, self._address_parser)
     self._assembler = Assembler(self._mpu, self._address_parser)
예제 #2
0
 def assemble(self, statement, pc=0000, mpu=None):
     if mpu is None:
         mpu = MPU()
     address_parser = AddressParser()
     assembler = Assembler(mpu, address_parser)
     return assembler.assemble(statement, pc)
예제 #3
0
 def test_ctor_uses_bus_width_from_mpu(self):
     asm = Assembler(MPU())
     self.assertEqual(16, asm.addrWidth)
     asm = Assembler(MPU65Org16())
     self.assertEqual(32, asm.addrWidth)
예제 #4
0
 def test_ctor_optionally_creates_address_parser(self):
     mpu = MPU()
     asm = Assembler(mpu)
     self.assertFalse(asm._address_parser is None)
예제 #5
0
 def test_ctor_uses_provided_mpu_and_address_parser(self):
     mpu = MPU()
     address_parser = AddressParser()
     asm = Assembler(mpu, address_parser)
     self.assertTrue(asm._mpu is mpu)
     self.assertTrue(asm._address_parser is address_parser)
예제 #6
0
 def assemble(self, statement, pc=0000):
     mpu = MPU()
     address_parser = AddressParser()
     assembler = Assembler(mpu, address_parser)
     return assembler.assemble(statement, pc)
예제 #7
0
 def _reset(self, mpu_type):
     self._mpu = mpu_type()
     self._install_mpu_observers()
     self._address_parser = AddressParser()
     self._disassembler = Disassembler(self._mpu, self._address_parser)
     self._assembler = Assembler(self._mpu, self._address_parser)