def exec(self, proc: Processor):
self.proc = proc
self.args = map(self.expand, self.o_args) # load register values
val = reduce(self.operator, self.args) # apply operator
if operator is addc or operator is subc:
val += int(self.proc.external.carry)
proc.memory.set_register(self.register, val) # set result
if operator is operator.and_ or operator is operator.or_ or operator is operator.xor:
self.proc.set_carry(False)
# increment pc
self.proc.manager.next()
评论列表
文章目录