示例#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
示例#2
0
文件: cmp.py 项目: 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
示例#3
0
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     a, b = args
     eu.store(a | b)
     return True
示例#4
0
文件: jmp.py 项目: en0/emu
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     value, _ = args
     eu.store(value)
     return False
示例#5
0
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     value, port = args
     eu.write_port(port, value)
     return True
示例#6
0
文件: hlt.py 项目: en0/emu
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     eu.set_flag(FLG_CORE_HLT)
     return False
示例#7
0
文件: brk.py 项目: en0/emu
 def execute(self, eu: IExecutionUnit, *args) -> bool:
     eu.dump_core()
     input("...")
     return True