#ifndef __GENERATED_INSTR_H__ #define __GENERATED_INSTR_H__ #include "instr.h" #include "mem.h" #include #include "addrs.h" uint8_t _adc (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _add (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _adiw (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _and (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _andi (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _asr (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _bclr (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _bld (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _brbc (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _brbs (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _break (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _bset (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _bst (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _call (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _cbi (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _com (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _cp (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _cpc (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _cpi (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _cpse (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _dec (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _des (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _eicall (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _eijmp (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _elpm1 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _elpm2 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _elpm3 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _eor (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _fmul (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _fmuls (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _fmulsu (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _icall (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ijmp (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _in (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _inc (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _jmp (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _lac (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _las (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _lat (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ld1 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ld2 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ld3 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ld_ldd2 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ld_ldd3 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ld_ldd4 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ld_ldd_12 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ld_ldd_13 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ld_ldd_14 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ldi (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _lds (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _lds_avrrc (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _lpm1 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _lpm2 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _lpm3 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _lsr (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _mov (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _movw (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _mul (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _muls (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _mulsu (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _neg (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _nop (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _or (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _out (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _pop (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _push (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _rcall (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ret (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _reti (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _rjmp (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _ror (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sbc (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sbci (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sbi (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sbic (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sbis (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sbiw (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sbr (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sbrc (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sbrs (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sleep (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _spm (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _st1 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _st2 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _st3 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _st_std2 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _st_std3 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _st_std4 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _st_std_12 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _st_std_13 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _st_std_14 (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sts (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sts_avrrc (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _sub (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _subi (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _swap (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _wdr (prog_counter_t* pcounter, device_mem_t* devMem); uint8_t _xch (prog_counter_t* pcounter, device_mem_t* devMem); #define HANDLER_REGISTERS {\ {&_adc, 0b0001110000000000, 0b0000001111111111, 2}, \ {&_add, 0b0000110000000000, 0b0000001111111111, 2}, \ {&_and, 0b0010000000000000, 0b0000001111111111, 2}, \ {&_andi, 0b0111000000000000, 0b0000111111111111, 2}, \ {&_asr, 0b1001010000000101, 0b0000000111110000, 2}, \ {&_bclr, 0b1001010010001000, 0b0000000001110000, 2}, \ {&_bld, 0b1111100000000000, 0b0000000111110111, 2}, \ {&_brbc, 0b1111010000000000, 0b0000001111111111, 2}, \ {&_brbs, 0b1111000000000000, 0b0000001111111111, 2}, \ {&_break, 0b1001010110011000, 0b0000000000000000, 2}, \ {&_bset, 0b1001010000001000, 0b0000000001110000, 2}, \ {&_bst, 0b1111101000000000, 0b0000000111110111, 2}, \ {&_cbi, 0b1001100000000000, 0b0000000011111111, 2}, \ {&_com, 0b1001010000000000, 0b0000000111110000, 2}, \ {&_cp, 0b0001010000000000, 0b0000001111111111, 2}, \ {&_cpc, 0b0000010000000000, 0b0000001111111111, 2}, \ {&_cpi, 0b0011000000000000, 0b0000111111111111, 2}, \ {&_cpse, 0b0001000000000000, 0b0000001111111111, 2}, \ {&_dec, 0b1001010000001010, 0b0000000111110000, 2}, \ {&_eor, 0b0010010000000000, 0b0000001111111111, 2}, \ {&_icall, 0b1001010100001001, 0b0000000000000000, 2}, \ {&_ijmp, 0b1001010000001001, 0b0000000000000000, 2}, \ {&_in, 0b1011000000000000, 0b0000011111111111, 2}, \ {&_inc, 0b1001010000000011, 0b0000000111110000, 2}, \ {&_ld1, 0b1001000000001100, 0b0000000111110000, 2}, \ {&_ld2, 0b1001000000001101, 0b0000000111110000, 2}, \ {&_ld3, 0b1001000000001110, 0b0000000111110000, 2}, \ {&_ld_ldd2, 0b1001000000001001, 0b0000000111110000, 2}, \ {&_ld_ldd3, 0b1001000000001010, 0b0000000111110000, 2}, \ {&_ld_ldd_12, 0b1001000000000001, 0b0000000111110000, 2}, \ {&_ld_ldd_13, 0b1001000000000010, 0b0000000111110000, 2}, \ {&_ldi, 0b1110000000000000, 0b0000111111111111, 2}, \ {&_lds_avrrc, 0b1010000000000000, 0b0000011111111111, 2}, \ {&_lsr, 0b1001010000000110, 0b0000000111110000, 2}, \ {&_mov, 0b0010110000000000, 0b0000001111111111, 2}, \ {&_neg, 0b1001010000000001, 0b0000000111110000, 2}, \ {&_nop, 0b0000000000000000, 0b0000000000000000, 2}, \ {&_or, 0b0010100000000000, 0b0000001111111111, 2}, \ {&_out, 0b1011100000000000, 0b0000011111111111, 2}, \ {&_pop, 0b1001000000001111, 0b0000000111110000, 2}, \ {&_push, 0b1001001000001111, 0b0000000111110000, 2}, \ {&_rcall, 0b1101000000000000, 0b0000111111111111, 2}, \ {&_ret, 0b1001010100001000, 0b0000000000000000, 2}, \ {&_reti, 0b1001010100011000, 0b0000000000000000, 2}, \ {&_rjmp, 0b1100000000000000, 0b0000111111111111, 2}, \ {&_ror, 0b1001010000000111, 0b0000000111110000, 2}, \ {&_sbc, 0b0000100000000000, 0b0000001111111111, 2}, \ {&_sbci, 0b0100000000000000, 0b0000111111111111, 2}, \ {&_sbi, 0b1001101000000000, 0b0000000011111111, 2}, \ {&_sbic, 0b1001100100000000, 0b0000000011111111, 2}, \ {&_sbis, 0b1001101100000000, 0b0000000011111111, 2}, \ {&_sbr, 0b0110000000000000, 0b0000111111111111, 2}, \ {&_sbrc, 0b1111110000000000, 0b0000000111110111, 2}, \ {&_sbrs, 0b1111111000000000, 0b0000000111110111, 2}, \ {&_sleep, 0b1001010110001000, 0b0000000000000000, 2}, \ {&_st1, 0b1001001000001100, 0b0000000111110000, 2}, \ {&_st2, 0b1001001000001101, 0b0000000111110000, 2}, \ {&_st3, 0b1001001000001110, 0b0000000111110000, 2}, \ {&_st_std2, 0b1001001000001001, 0b0000000111110000, 2}, \ {&_st_std3, 0b1001001000001010, 0b0000000111110000, 2}, \ {&_st_std_12, 0b1001001000000001, 0b0000000111110000, 2}, \ {&_st_std_13, 0b1001001000000010, 0b0000000111110000, 2}, \ {&_sts_avrrc, 0b1010100000000000, 0b0000011111111111, 2}, \ {&_sub, 0b0001100000000000, 0b0000001111111111, 2}, \ {&_subi, 0b0101000000000000, 0b0000111111111111, 2}, \ {&_swap, 0b1001010000000010, 0b0000000111110000, 2}, \ {&_wdr, 0b1001010110101000, 0b0000000000000000, 2} } #endif // ifndef __GENERATED_INSTR_H__