Example #1
0
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     port, dest = args
     if eu.has_input(port):
         value = eu.read_port(port)
         eu.store(value)
         return True
     return False
Example #2
0
File: cmp.py Project: en0/emu
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     a, b = args
     eu.clear_flag(FLG_CORE_EQ | FLG_CORE_LT | FLG_CORE_GT)
     if a < b:
         eu.set_flag(FLG_CORE_LT)
     if a > b:
         eu.set_flag(FLG_CORE_GT)
     if a == b:
         eu.set_flag(FLG_CORE_EQ)
     return True
Example #3
0
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     a, b = args
     eu.store(a | b)
     return True
Example #4
0
File: jmp.py Project: en0/emu
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     value, _ = args
     eu.store(value)
     return False
Example #5
0
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     value, port = args
     eu.write_port(port, value)
     return True
Example #6
0
File: hlt.py Project: en0/emu
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     eu.set_flag(FLG_CORE_HLT)
     return False
Example #7
0
File: brk.py Project: en0/emu
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     eu.dump_core()
     input("...")
     return True