execute_movtimm32 = execute_mov.make_movimm_executor(False, True) execute_movimm32 = execute_mov.make_movimm_executor(False, False) execute_movimm16 = execute_mov.make_movimm_executor(True, False) execute_movts32 = execute_mov.make_mov_executor(False, rd_is_special=True) execute_movts16 = execute_mov.make_mov_executor(True, rd_is_special=True) execute_movfs32 = execute_mov.make_mov_executor(False, rn_is_special=True) execute_movfs16 = execute_mov.make_mov_executor(True, rn_is_special=True) # Jump instructions execute_jr32 = execute_jump.make_jr_executor(False, save_lr=False) execute_jr16 = execute_jump.make_jr_executor(True, save_lr=False) execute_jalr32 = execute_jump.make_jr_executor(False, save_lr=True) execute_jalr16 = execute_jump.make_jr_executor(True, save_lr=True) # Interrupt and multicore instructions execute_nop16 = execute_interrupts.execute_nop16 execute_idle16 = execute_interrupts.execute_idle16 execute_bkpt16 = execute_interrupts.execute_bkpt16 execute_mbkpt16 = execute_interrupts.execute_mbkpt16 execute_gie16 = execute_interrupts.execute_gie16 execute_gid16 = execute_interrupts.execute_gid16 execute_sync16 = execute_interrupts.execute_sync16 execute_rti16 = execute_interrupts.execute_rti16 execute_swi16 = execute_interrupts.execute_swi16 execute_wand16 = execute_interrupts.execute_wand16 execute_trap16 = execute_interrupts.execute_trap16 execute_unimpl = execute_interrupts.execute_unimpl # Create Decoder decode = create_risc_decoder(encodings, globals(), debug=True)
#------------------------------------------------------------------------- # sync #------------------------------------------------------------------------- def execute_sync( s, inst ): s.pc += 4 #----------------------------------------------------------------------- # stat #----------------------------------------------------------------------- def execute_stat( s, inst ): s.pc += 4 #----------------------------------------------------------------------- # hint_wl #----------------------------------------------------------------------- def execute_hint_wl( s, inst ): s.pc += 4 #----------------------------------------------------------------------- # mug #----------------------------------------------------------------------- def execute_mug( s, inst ): s.pc += 4 #======================================================================= # Create Decoder #======================================================================= decode = create_risc_decoder( encodings, globals(), debug=True )