def execute(self): instruction = self.cpu.pc.next_instruction registers = instruction.get_registers() print(instruction) rd = registers['rd'] rs = registers['rs'] print("Read the register 1: {}{}[{}]".format(rs, ' '*25, to_integer(rs))) rt = registers['rt'] print("Read the register 2: {}{}[{}]".format(rt, ' '*25, to_integer(rt))) register_data1 = self.cpu.registers.get_value(rs) print("Read data 1: {}".format(register_data1)) register_data2 = self.cpu.registers.get_value(rt) print("Read data 2: {}".format(register_data2)) print("ALU-in-1: {}{}[{}]".format(register_data1, ' '*6, to_decimalC2(register_data1))) print("ALU-in-2: {}{}[{}]".format(register_data2, ' '*6, to_decimalC2(register_data2))) alu_result = self.cpu.alu.makeAnd(register_data1, register_data2) print("ALU-result: {}{}[{}]".format(alu_result, ' '*6, to_decimalC2(alu_result))) self.cpu.registers.set_value(rd, alu_result) print("Write data: {}".format(alu_result)) print("Write register: {}{}[{}]".format(rd, ' '*30, to_integer(rd))) print("{}".format("-" * 64)) print("\n\n")
def execute(self): instruction = self.cpu.pc.next_instruction registers = instruction.get_registers() offset = instruction.get_offset() print(instruction) rs = registers['rs'] print("Read the register 1:{}{}{}[{}]".format(' '*20, rs, ' '*6, to_integer(rs))) rt = registers['rt'] print("Read the register 2:{}{}{}[{}]".format(' '*20, rt, ' '*6, to_integer(rt))) register_data1 = self.cpu.registers.get_value(rs) print("Read data 1: {}".format(register_data1)) register_data2 = self.cpu.registers.get_value(rt) print("Read data 2: {}".format(register_data2)) print("ALU-in-1: {}{}[{}]".format(register_data1, ' '*6, to_decimalC2(register_data1))) print("ALU-in-2: {}{}[{}]".format(offset, ' '*6, to_decimalC2(offset))) alu_result = self.cpu.alu.makeSum(register_data1, offset) print("ALU-result: {}{}[{}]".format(alu_result, ' '*6, to_decimalC2(alu_result))) print("Address: {}".format(alu_result)) self.cpu.memory.set_value(alu_result, register_data2) print("Write data: {}{}[{}]".format(register_data2, ' '*6, to_decimalC2(register_data2))) print("{}".format("-" * 64)) print("\n\n")
def parse_offers(self, offers): offer_data_path = './UnitPriceDetail/TotalAmount/SimpleCurrencyPrice' offer_data = {} for o in offers: offer_data[o.attrib['OfferItemID']] = { 'fee': { 'amount': to_integer(o.find(offer_data_path).text.replace('.', '')), 'currency_code': o.find(offer_data_path).attrib['Code'].lower(), }, 'taxes': { 'amount': None, 'currency_code': None, } } return offer_data
def test_string_must_be_converted_to_integer_or_return_original_value( self): self.assertEqual(1, to_integer('1')) self.assertEqual('test', to_integer('test'))