Пример #1
0
def _cond_jr(processor, memory, pc, flag, jump_value):
    offset, pc = fetch_signed_byte(memory, pc)
    if processor.condition(flag) == jump_value:
        _jr_offset(processor.special_registers, offset)
        return 12, True, pc
    else:
        return 7, False, pc
Пример #2
0
def _cond_jr(processor, memory, pc, flag, jump_value):
    offset, pc = fetch_signed_byte(memory, pc)
    if processor.condition(flag) == jump_value:
        _jr_offset(processor.special_registers, offset)
        return 12, True, pc
    else:
        return 7, False, pc
Пример #3
0
 def execute(self, processor, memory, pc):
     offset, pc = fetch_signed_byte(memory, pc)
     _cp_value(
         self.processor,
         self.memory[0xffff
                     & (self.processor.index_registers[self.indexed_reg] +
                        offset)], False)
     return 19, False, pc
Пример #4
0
 def execute(self, processor, memory, pc):
     offset, pc = fetch_signed_byte(memory, pc)
     self.processor.main_registers['b'] = (self.processor.main_registers['b'] - 1) & 0xff
     if self.processor.main_registers['b'] != 0:
         _jr_offset(self.processor.special_registers, offset)
         return 13, True, pc
     else:
         return 8, False, pc
Пример #5
0
 def execute(self, processor, memory, pc):
     offset, pc = fetch_signed_byte(memory, pc)
     self.processor.main_registers['b'] = (
         self.processor.main_registers['b'] - 1) & 0xff
     if self.processor.main_registers['b'] != 0:
         _jr_offset(self.processor.special_registers, offset)
         return 13, True, pc
     else:
         return 8, False, pc
Пример #6
0
 def execute(self, processor, memory, pc):
     offset, pc = fetch_signed_byte(memory, pc)
     _jr_offset(processor.special_registers, offset)
     return 12, True, pc
Пример #7
0
 def execute(self, processor, memory, pc):
     offset, pc = fetch_signed_byte(memory, pc)
     address = self.processor.index_registers[self.indexed_reg] + offset
     result = _dec_value(self.processor, self.memory[0xffff & address])
     self.memory[0xffff & address] = result
     return 23, False, pc
Пример #8
0
 def execute(self, processor, memory, pc):
     offset, pc = fetch_signed_byte(memory, pc)
     value = self.memory[0xffff & (
         self.processor.index_registers[self.indexed_reg] + offset)]
     _sub_a(self.processor, value, self.processor.condition('c'))
     return 19, False, pc
Пример #9
0
 def execute(self, processor, memory, pc):
     offset, pc = fetch_signed_byte(memory, pc)
     address = self.processor.index_registers[self.indexed_reg] + offset
     result = _dec_value(self.processor, self.memory[0xffff & address])
     self.memory[0xffff & address] = result
     return 23, False, pc
Пример #10
0
 def execute(self, processor, memory, pc):
     offset, pc = fetch_signed_byte(memory, pc)
     _cp_value(self.processor, self.memory[0xffff & (self.processor.index_registers[self.indexed_reg] + offset)], False)
     return 19, False, pc
Пример #11
0
 def execute(self, processor, memory, pc):
     offset, pc = fetch_signed_byte(memory, pc)
     value = self.memory[0xffff & (self.processor.index_registers[self.indexed_reg] + offset)]
     _sub_a(self.processor, value, self.processor.condition('c'))
     return 19, False, pc
Пример #12
0
 def execute(self, processor, memory, pc):
     offset, pc = fetch_signed_byte(memory, pc)
     _jr_offset(processor.special_registers, offset)
     return 12, True, pc