/***************************************************************
 *  Alcuin: A HP48 emulator for Amiga Computers
 * 
 *  (C) 1995 Stephan Schupfer (schupfer@sbox.tu-graz.ac.at)
 *
 */

/*#define DEBUG_OPCODES 1*/

static inline void bf_illegal()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. illegal\n",saturn_PC);
#endif
stirb("Illegal instruction at %.5lX.",112,saturn_PC);
}

static inline void bf_rtnsxm()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. rtnsxm\n",saturn_PC);
#endif
saturn_HST |= XM;
saturn_PC = pop ();
}

static inline void bf_rtn()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. rtn\n",saturn_PC);
#endif
saturn_PC = pop ();
}

static inline void bf_rtnsc()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. rtnsc\n",saturn_PC);
#endif
saturn_CARRY = 1;
saturn_PC = pop ();
}

static inline void bf_rtncc ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. rtncc\n",saturn_PC);
#endif
saturn_CARRY = 0;
saturn_PC = pop ();
}

static inline void bf_sethex ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sethex\n",saturn_PC);
#endif
saturn_hexmode = 1;
saturn_PC += 2;
}

static inline void bf_setdec ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. setdec\n",saturn_PC);
#endif
saturn_hexmode = 0;
saturn_PC += 2;
}

static inline void bf_push ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. push\n",saturn_PC);
#endif
push (reg_addr (saturn_C));
saturn_PC += 2;
}

static inline void bf_pop ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. pop\n",saturn_PC);
#endif
addr_reg (pop (), saturn_C);
saturn_PC += 2;
}

static inline void bf_clr_st ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. clr_st\n",saturn_PC);
#endif
clr_st ();
saturn_PC += 2;
}

static inline void bf_move_st_c ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_st_c\n",saturn_PC);
#endif
move_st_c ();
saturn_PC += 2;
}

static inline void bf_move_c_st ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_c_st\n",saturn_PC);
#endif
move_c_st ();
saturn_PC += 2;
}

static inline void bf_exg_c_st ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_c_st\n",saturn_PC);
#endif
exg_st_c ();
saturn_PC += 2;
}

static inline void bf_inc_reg_p ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. inc_reg_p\n",saturn_PC);
#endif
inc_reg_p ();
saturn_PC += 2;
}

static inline void bf_dec_reg_p ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. dec_reg_p\n",saturn_PC);
#endif
dec_reg_p ();
saturn_PC += 2;
}

static inline void bf_and_p ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. and_p\n",saturn_PC);
#endif
and_p (op->cpu_src, op->cpu_dst,saturn_P);
saturn_PC += 4;
}

static inline void bf_and_wp ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. and_wp\n",saturn_PC);
#endif
and_wp (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_and_xs ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. and_xs\n",saturn_PC);
#endif
and_p (op->cpu_src, op->cpu_dst,2);
saturn_PC += 4;
}

static inline void bf_and_x ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. and_x\n",saturn_PC);
#endif
and_x (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_and_s ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. and_s\n",saturn_PC);
#endif
and_p (op->cpu_src, op->cpu_dst,15);
saturn_PC += 4;
}

static inline void bf_and_m ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. and_m\n",saturn_PC);
#endif
and_m (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_and_b ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. and_b\n",saturn_PC);
#endif
and_b (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_and_w ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. and_w\n",saturn_PC);
#endif
and_w (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_and_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. and_a\n",saturn_PC);
#endif
and_a (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_or_p ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. or_p\n",saturn_PC);
#endif
or_p (op->cpu_src, op->cpu_dst,saturn_P);
saturn_PC += 4;
}

static inline void bf_or_wp ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. or_wp\n",saturn_PC);
#endif
or_wp (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_or_xs ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. or_xs\n",saturn_PC);
#endif
or_p (op->cpu_src, op->cpu_dst,2);
saturn_PC += 4;
}

static inline void bf_or_x ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. or_x\n",saturn_PC);
#endif
or_x (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_or_s ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. or_s\n",saturn_PC);
#endif
or_p (op->cpu_src, op->cpu_dst,15);
saturn_PC += 4;
}

static inline void bf_or_m ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. or_m\n",saturn_PC);
#endif
or_m (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_or_b ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. or_b\n",saturn_PC);
#endif
or_b (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_or_w ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. or_w\n",saturn_PC);
#endif
or_w (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_or_a ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. or_a\n",saturn_PC);
#endif
or_a (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_rti ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. rti\n",saturn_PC);
#endif
rti ();
}

static inline void bf_move_p ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_p\n",saturn_PC);
#endif
move_p (op->cpu_src, op->cpu_dst,saturn_P);
saturn_PC += 6;
}

static inline void bf_move_pb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_pb\n",saturn_PC);
#endif
move_p (op->cpu_src, op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_move_wp ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_wp\n",saturn_PC);
#endif
move_wp (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_move_wpb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_wpb\n",saturn_PC);
#endif
move_wp (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_move_xs ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_xs\n",saturn_PC);
#endif
move_p (op->cpu_src, op->cpu_dst,2);
saturn_PC += 6;
}

static inline void bf_move_xsb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_xsb\n",saturn_PC);
#endif
move_p (op->cpu_src, op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_move_x ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_x\n",saturn_PC);
#endif
move_x (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_move_xb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_xb\n",saturn_PC);
#endif
move_x (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_move_s ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_s\n",saturn_PC);
#endif
move_p (op->cpu_src, op->cpu_dst,15);
saturn_PC += 6;
}

static inline void bf_move_sb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_sb\n",saturn_PC);
#endif
move_p (op->cpu_src, op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_move_m ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_m\n",saturn_PC);
#endif
move_m (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_move_mb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_mb\n",saturn_PC);
#endif
move_m (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_move_b ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_b\n",saturn_PC);
#endif
move_b (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_move_bb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_bb\n",saturn_PC);
#endif
move_b (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_move_w ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_w\n",saturn_PC);
#endif
move_w (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_move_wb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_wb\n",saturn_PC);
#endif
move_w (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_move_a ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_a\n",saturn_PC);
#endif
move_a (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_move_ab ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_ab\n",saturn_PC);
#endif
move_a (op->cpu_src, op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_exg_p ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_p\n",saturn_PC);
#endif
exg_p (op->cpu_src, op->cpu_dst,saturn_P);
saturn_PC += 6;
}

static inline void bf_exg_pb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_pb\n",saturn_PC);
#endif
exg_p (op->cpu_src, op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_exg_wp ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_wp\n",saturn_PC);
#endif
exg_wp (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_exg_wpb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_wpb\n",saturn_PC);
#endif
exg_wp (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_exg_xs ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_xs\n",saturn_PC);
#endif
exg_p (op->cpu_src, op->cpu_dst,2);
saturn_PC += 6;
}

static inline void bf_exg_xsb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_xsb\n",saturn_PC);
#endif
exg_p (op->cpu_src, op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_exg_x ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_x\n",saturn_PC);
#endif
exg_x (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_exg_xb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_xb\n",saturn_PC);
#endif
exg_x (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_exg_s ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_s\n",saturn_PC);
#endif
exg_p (op->cpu_src, op->cpu_dst,15);
saturn_PC += 6;
}

static inline void bf_exg_sb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_sb\n",saturn_PC);
#endif
exg_p (op->cpu_src, op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_exg_m ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_m\n",saturn_PC);
#endif
exg_m (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_exg_mb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_mb\n",saturn_PC);
#endif
exg_m (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_exg_b ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_b\n",saturn_PC);
#endif
exg_b (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_exg_bb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_bb\n",saturn_PC);
#endif
exg_b (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_exg_w ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_w\n",saturn_PC);
#endif
exg_w (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_exg_wb ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_wp\n",saturn_PC);
#endif
exg_w (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_exg_a ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_a\n",saturn_PC);
#endif
exg_a (op->cpu_src, op->cpu_dst);
saturn_PC += 6;
}

static inline void bf_exg_ab ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_ab\n",saturn_PC);
#endif
exg_a (op->cpu_src, op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_move_dp_4 ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_dp_4\n",saturn_PC);
#endif
move_dp_4 (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_move_dp_5 ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_dp_5\n",saturn_PC);
#endif
move_dp_5 (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_exg_dp_4 ()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_dp_4\n",saturn_PC);
#endif
exg_dp_4 (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_exg_dp_5()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_dp_5\n",saturn_PC);
#endif
exg_dp_5 (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_load_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. load_p\n",saturn_PC);
#endif
load_p (op->cpu_src, op->cpu_dst,saturn_P);
saturn_PC += 4;
}

static inline void bf_load_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. load_wp\n",saturn_PC);
#endif
load_wp (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_load_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. load_xs\n",saturn_PC);
#endif
load_p (op->cpu_src, op->cpu_dst,2);
saturn_PC += 4;
}

static inline void bf_load_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. load_x\n",saturn_PC);
#endif
load_x (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_load_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. load_s\n",saturn_PC);
#endif
load_p (op->cpu_src, op->cpu_dst,15);
saturn_PC += 4;
}

static inline void bf_load_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. load_m\n",saturn_PC);
#endif
load_m (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_load_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. load_b\n",saturn_PC);
#endif
load_b (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_load_bb()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. load_bb\n",saturn_PC);
#endif
load_b (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_load_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. load_w\n",saturn_PC);
#endif
load_w (op->cpu_src, op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_load_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. load_a\n",saturn_PC);
#endif
load_a (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_store_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. store_p\n",saturn_PC);
#endif
store_p (op->cpu_dst, op->cpu_src,saturn_P);
saturn_PC += 4;
}

static inline void bf_store_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. store_wp\n",saturn_PC);
#endif
store_wp (op->cpu_dst, op->cpu_src);
saturn_PC += 4;
}

static inline void bf_store_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. store_xs\n",saturn_PC);
#endif
store_p (op->cpu_dst, op->cpu_src,2);
saturn_PC += 4;
}

static inline void bf_store_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. store_x\n",saturn_PC);
#endif
store_x (op->cpu_dst, op->cpu_src);
saturn_PC += 4;
}

static inline void bf_store_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. store_s\n",saturn_PC);
#endif
store_p (op->cpu_dst, op->cpu_src,15);
saturn_PC += 4;
}

static inline void bf_store_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. store_m\n",saturn_PC);
#endif
store_m (op->cpu_dst, op->cpu_src);
saturn_PC += 4;
}

static inline void bf_store_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. store_b\n",saturn_PC);
#endif
store_b (op->cpu_dst, op->cpu_src);
saturn_PC += 4;
}

static inline void bf_store_bb()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. store_bb\n",saturn_PC);
#endif
store_b (op->cpu_dst, op->cpu_src);
saturn_PC += 3;
}

static inline void bf_store_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. store_w\n",saturn_PC);
#endif
store_w (op->cpu_dst, op->cpu_src);
saturn_PC += 4;
}

static inline void bf_store_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. store_a\n",saturn_PC);
#endif
store_a (op->cpu_dst, op->cpu_src);
saturn_PC += 3;
}

static inline void bf_load_n()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. load_n\n",saturn_PC);
#endif
load_n (op->cpu_src, op->cpu_dst, op->cpu_field);
saturn_PC += 4;
}

static inline void bf_store_n()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. store_n\n",saturn_PC);
#endif
store_n (op->cpu_dst, op->cpu_src, op->cpu_field);
saturn_PC += 4;
}

static inline void bf_add_con_dp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_con_dp\n",saturn_PC);
#endif
add_con_dp (op->cpu_dst, last_op[2]+1);
saturn_PC += 3;
}

static inline void bf_sub_con_dp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_con_dp\n",saturn_PC);
#endif
sub_con_dp (op->cpu_dst, last_op[2]+1);
saturn_PC += 3;
}

static inline void bf_move_con_dp_2()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_dp_2\n",saturn_PC);
#endif
move_con_dp_2 (op->cpu_dst, read_simm_2());
saturn_PC += 4;
}

static inline void bf_move_con_dp_4()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_dp_4\n",saturn_PC);
#endif
move_con_dp_4 (op->cpu_dst, read_simm_4());
saturn_PC += 6;
}

static inline void bf_move_con_dp_5()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_dp_5\n",saturn_PC);
#endif
move_con_dp_5 (op->cpu_dst, read_simm_5());
saturn_PC += 7;
}

static inline void bf_move_con_reg_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_reg_p\n",saturn_PC);
#endif
move_con_reg_p (last_op[1]);
saturn_PC += 2;
}

static inline void bf_move_con_1()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_1\n",saturn_PC);
#endif
move_con_1 (op->cpu_dst, last_op[2]);
saturn_PC += 3;
}

static inline void bf_move_con_2()
{
unsigned char con64[2];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_2\n",saturn_PC);
#endif
read_limm_2(con64);
move_con_2 (op->cpu_dst, con64);
saturn_PC += 4;
}

static inline void bf_move_con_3()
{
unsigned char con64[3];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_3\n",saturn_PC);
#endif
read_limm_3(con64);
move_con (op->cpu_dst, con64,3);
saturn_PC += 5;
}

static inline void bf_move_con_4()
{
unsigned char con64[4];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_4\n",saturn_PC);
#endif
read_limm_4(con64);
move_con (op->cpu_dst, con64,4);
saturn_PC += 6;
}

static inline void bf_move_con_5()
{
unsigned char con64[5];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_5\n",saturn_PC);
#endif
read_limm_5(con64);
move_con (op->cpu_dst, con64,5);
saturn_PC += 7;
}

static inline void bf_move_con_6()
{
unsigned char con64[6];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_6\n",saturn_PC);
#endif
read_limm_6(con64);
move_con (op->cpu_dst, con64,6);
saturn_PC += 8;
}

static inline void bf_move_con_7()
{
unsigned char con64[7];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_7\n",saturn_PC);
#endif
read_limm_7(con64);
move_con (op->cpu_dst, con64,7);
saturn_PC += 9;
}

static inline void bf_move_con_8()
{
unsigned char con64[8];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_8\n",saturn_PC);
#endif
read_limm_8(con64);
move_con (op->cpu_dst, con64,8);
saturn_PC += 10;
}

static inline void bf_move_con_9()
{
unsigned char con64[9];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_9\n",saturn_PC);
#endif
read_limm_9(con64);
move_con (op->cpu_dst, con64,9);
saturn_PC += 11;
}

static inline void bf_move_con_10()
{
unsigned char con64[10];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_10\n",saturn_PC);
#endif
read_limm_10(con64);
move_con (op->cpu_dst, con64,10);
saturn_PC += 12;
}

static inline void bf_move_con_11()
{
unsigned char con64[11];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_11\n",saturn_PC);
#endif
read_limm_11(con64);
move_con (op->cpu_dst, con64,11);
saturn_PC += 13;
}

static inline void bf_move_con_12()
{
unsigned char con64[12];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_12\n",saturn_PC);
#endif
read_limm_12(con64);
move_con (op->cpu_dst, con64,12);
saturn_PC += 14;
}

static inline void bf_move_con_13()
{
unsigned char con64[13];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_13\n",saturn_PC);
#endif
read_limm_13(con64);
move_con (op->cpu_dst, con64,13);
saturn_PC += 15;
}

static inline void bf_move_con_14()
{
unsigned char con64[14];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_14\n",saturn_PC);
#endif
read_limm_14(con64);
move_con (op->cpu_dst, con64,14);
saturn_PC += 16;
}

static inline void bf_move_con_15()
{
unsigned char con64[15];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_15\n",saturn_PC);
#endif
read_limm_15(con64);
move_con (op->cpu_dst, con64,15);
saturn_PC += 17;
}

static inline void bf_move_con_16()
{
unsigned char con64[16];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_16\n",saturn_PC);
#endif
read_limm_16(con64);
move_con (op->cpu_dst, con64,16);
saturn_PC += 18;
}

static inline void bf_move_con_1b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_1b\n",saturn_PC);
#endif
move_con_1 (op->cpu_dst, last_op[5]);
saturn_PC += 6;
}

static inline void bf_move_con_2b()
{
unsigned char con64[2];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_2b\n",saturn_PC);
#endif
read_limm_2b(con64);
move_con_2 (op->cpu_dst, con64);
saturn_PC += 7;
}

static inline void bf_move_con_3b()
{
unsigned char con64[3];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_3b\n",saturn_PC);
#endif
read_limm_3b(con64);
move_con (op->cpu_dst, con64,3);
saturn_PC += 8;
}

static inline void bf_move_con_4b()
{
unsigned char con64[4];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_4b\n",saturn_PC);
#endif
read_limm_4b(con64);
move_con (op->cpu_dst, con64,4);
saturn_PC += 9;
}

static inline void bf_move_con_5b()
{
unsigned char con64[5];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_5b\n",saturn_PC);
#endif
read_limm_5b(con64);
move_con (op->cpu_dst, con64,5);
saturn_PC += 10;
}

static inline void bf_move_con_6b()
{
unsigned char con64[6];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_6b\n",saturn_PC);
#endif
read_limm_6b(con64);
move_con (op->cpu_dst, con64,6);
saturn_PC += 11;
}

static inline void bf_move_con_7b()
{
unsigned char con64[7];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_7b\n",saturn_PC);
#endif
read_limm_7b(con64);
move_con (op->cpu_dst, con64,7);
saturn_PC += 12;
}

static inline void bf_move_con_8b()
{
unsigned char con64[8];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_8b\n",saturn_PC);
#endif
read_limm_8b(con64);
move_con (op->cpu_dst, con64,8);
saturn_PC += 13;
}

static inline void bf_move_con_9b()
{
unsigned char con64[9];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_9b\n",saturn_PC);
#endif
read_limm_9b(con64);
move_con (op->cpu_dst, con64,9);
saturn_PC += 14;
}

static inline void bf_move_con_10b()
{
unsigned char con64[10];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_10b\n",saturn_PC);
#endif
read_limm_10b(con64);
move_con (op->cpu_dst, con64,10);
saturn_PC += 15;
}

static inline void bf_move_con_11b()
{
unsigned char con64[11];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_11b\n",saturn_PC);
#endif
read_limm_11b(con64);
move_con (op->cpu_dst, con64,11);
saturn_PC += 16;
}

static inline void bf_move_con_12b()
{
unsigned char con64[12];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_12b\n",saturn_PC);
#endif
read_limm_12b(con64);
move_con (op->cpu_dst, con64,12);
saturn_PC += 17;
}

static inline void bf_move_con_13b()
{
unsigned char con64[13];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_13b\n",saturn_PC);
#endif
read_limm_13b(con64);
move_con (op->cpu_dst, con64,13);
saturn_PC += 18;
}

static inline void bf_move_con_14b()
{
unsigned char con64[14];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_14b\n",saturn_PC);
#endif
read_limm_14b(con64);
move_con (op->cpu_dst, con64,14);
saturn_PC += 19;
}

static inline void bf_move_con_15b()
{
unsigned char con64[15];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_15b\n",saturn_PC);
#endif
read_limm_15b(con64);
move_con (op->cpu_dst, con64,15);
saturn_PC += 20;
}

static inline void bf_move_con_16b()
{
unsigned char con64[16];

#ifdef DEBUG_OPCODES
printf("%.5lX. move_con_16b\n",saturn_PC);
#endif
read_limm_16b(con64);
move_con (op->cpu_dst, con64,16);
saturn_PC += 21;
}

static inline void bf_bcs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bcs\n",saturn_PC);
#endif
if (saturn_CARRY) read_bra_2();
else saturn_PC += 3;
}

static inline void bf_bcc()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bcc\n",saturn_PC);
#endif
if (!saturn_CARRY) read_bra_2();
else saturn_PC += 3;
}

static inline void bf_bra_3()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bra_3\n",saturn_PC);
#endif
read_bra_3();
}

static inline void bf_bra_4()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bra_4\n",saturn_PC);
#endif
read_bra_4();
}

static inline void bf_bsr_3()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bsr_3\n",saturn_PC);
#endif
push (saturn_PC + 4);
read_bsr_3();
}

static inline void bf_bsr_4()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bsr_4\n",saturn_PC);
#endif
push (saturn_PC + 6);
read_bsr_4();
}

static inline void bf_move_out_1()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_out_1\n",saturn_PC);
#endif
move_out_1 ();
saturn_PC += 3;
check_out_register();
}

static inline void bf_move_out_3()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_out_3\n",saturn_PC);
#endif
move_out_3 ();
saturn_PC += 3;
check_out_register();
}

static inline void bf_move_in()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_in\n",saturn_PC);
#endif
kbd_read ();
move_in (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_uncnfg()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. uncnfg\n",saturn_PC);
#endif
do_unconfigure ();
saturn_PC += 3;
}

static inline void bf_config()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. config\n",saturn_PC);
#endif
config ();
saturn_PC += 3;
}

static inline void bf_c_id()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. c_id\n",saturn_PC);
#endif
get_identification ();
saturn_PC += 3;
}

static inline void bf_shutdn()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. shutdn\n",saturn_PC);
#endif
saturn_PC += 3;
do_shutdown ();
}

static inline void bf_inton()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. inton\n",saturn_PC);
#endif
inton ();
saturn_PC += 4;
}

static inline void bf_rsi()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. rsi\n",saturn_PC);
#endif
saturn_PC += 5;
do_reset_interupt_system ();
}

static inline void bf_buscb()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. buscb\n",saturn_PC);
#endif
buscb ();
saturn_PC += 4;
}

static inline void	 bf_bclr()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bclr\n",saturn_PC);
#endif
bclr (op->cpu_dst, last_op[4]);
saturn_PC += 5;
}

static inline void bf_bset()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bset\n",saturn_PC);
#endif
bset (op->cpu_dst, last_op[4]);
saturn_PC += 5;
}

static inline void bf_bbc()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bbc\n",saturn_PC);
#endif
saturn_CARRY = b_is_clr (op->cpu_dst, last_op[4]);
if (saturn_CARRY) read_bra_2b();
else saturn_PC += 7;
}

static inline void bf_bbs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bbs\n",saturn_PC);
#endif
saturn_CARRY = b_is_set (op->cpu_dst, last_op[4]);
if (saturn_CARRY) read_bra_2b();
else saturn_PC += 7;
}

static inline void bf_jmp_reg_ind()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. jmp_reg_ind\n",saturn_PC);
#endif
mmu_read_con20 (reg_addr (op->cpu_dst), &saturn_PC);
}

static inline void bf_buscc()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. buscc\n",saturn_PC);
#endif
buscc ();
saturn_PC += 3;
}

static inline void bf_intoff()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. intoff\n",saturn_PC);
#endif
intoff ();
saturn_PC += 4;
}

static inline void bf_add_c_p_1()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_c_p_1\n",saturn_PC);
#endif
add_c_p_1 ();
saturn_PC += 3;
}

static inline void bf_reset()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. reset\n",saturn_PC);
#endif
do_reset ();
saturn_PC += 3;
}

static inline void bf_buscd()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. buscd\n",saturn_PC);
#endif
buscd ();
saturn_PC += 4;
}

static inline void bf_move_p_c()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_p_c\n",saturn_PC);
#endif
move_p_c (op->cpu_field);
saturn_PC += 4;
}

static inline void bf_move_c_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_c_p\n",saturn_PC);
#endif
move_c_p (op->cpu_field);
saturn_PC += 4;
}

static inline void bf_sreq()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sreq\n",saturn_PC);
#endif
sreq ();
saturn_PC += 3;
}

static inline void bf_exg_p_c()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_p_c\n",saturn_PC);
#endif
exg_p_c (op->cpu_field);
saturn_PC += 4;
}

static inline void bf_rol_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. rol_w\n",saturn_PC);
#endif
rol_reg (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_ror_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. ror_w\n",saturn_PC);
#endif
ror_reg (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_add_con_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_con_p");
#endif
add_con_p (op->cpu_dst, last_op[5]+1,saturn_P);
saturn_PC += 6;
}

static inline void bf_add_con_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_con_wp");
#endif
add_con_wp (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_add_con_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_con_xs");
#endif
add_con_p (op->cpu_dst, last_op[5]+1,2);
saturn_PC += 6;
}

static inline void bf_add_con_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_con_x");
#endif
add_con_x (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_add_con_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_con_s");
#endif
add_con_p (op->cpu_dst, last_op[5]+1,15);
saturn_PC += 6;
}

static inline void bf_add_con_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_con_m");
#endif
add_con_m (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_add_con_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_con_b");
#endif
add_con_b (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_add_con_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_con_w");
#endif
add_con_w (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_add_con_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_con_a\n",saturn_PC);
#endif
add_con_a (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_sub_con_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_con_p\n",saturn_PC);
#endif
sub_con_p (op->cpu_dst, last_op[5]+1,saturn_P);
saturn_PC += 6;
}

static inline void bf_sub_con_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_con_wp\n",saturn_PC);
#endif
sub_con_wp (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_sub_con_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_con_xs\n",saturn_PC);
#endif
sub_con_p (op->cpu_dst, last_op[5]+1,2);
saturn_PC += 6;
}

static inline void bf_sub_con_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_con_x\n",saturn_PC);
#endif
sub_con_x (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_sub_con_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_con_s\n",saturn_PC);
#endif
sub_con_p (op->cpu_dst, last_op[5]+1,15);
saturn_PC += 6;
}

static inline void bf_sub_con_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_con_m\n",saturn_PC);
#endif
sub_con_m (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_sub_con_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_con_b\n",saturn_PC);
#endif
sub_con_b (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_sub_con_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_con_w\n",saturn_PC);
#endif
sub_con_w (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_sub_con_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_con_a\n",saturn_PC);
#endif
sub_con_a (op->cpu_dst, last_op[5]+1);
saturn_PC += 6;
}

static inline void bf_lsr_1_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_1_p\n",saturn_PC);
#endif
lsr_1_p (op->cpu_dst,saturn_P);
saturn_PC += 5;
}

static inline void bf_lsr_1_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_1_wp\n",saturn_PC);
#endif
lsr_1_wp (op->cpu_dst);
saturn_PC += 5;
}

static inline void bf_lsr_1_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_1_xs\n",saturn_PC);
#endif
lsr_1_p (op->cpu_dst,2);
saturn_PC += 5;
}

static inline void bf_lsr_1_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_1_x\n",saturn_PC);
#endif
lsr_1_x (op->cpu_dst);
saturn_PC += 5;
}

static inline void bf_lsr_1_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_1_s\n",saturn_PC);
#endif
lsr_1_p (op->cpu_dst,15);
saturn_PC += 5;
}

static inline void bf_lsr_1_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_1_m\n",saturn_PC);
#endif
lsr_1_m (op->cpu_dst);
saturn_PC += 5;
}

static inline void bf_lsr_1_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_1_b\n",saturn_PC);
#endif
lsr_1_b (op->cpu_dst);
saturn_PC += 5;
}

static inline void bf_lsr_1_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_1_w\n",saturn_PC);
#endif
lsr_1_w (op->cpu_dst);
saturn_PC += 5;
}

static inline void bf_lsr_1_w1()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_1_w1\n",saturn_PC);
#endif
lsr_1_w (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsr_1_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_1_a\n",saturn_PC);
#endif
lsr_1_a (op->cpu_dst);
saturn_PC += 5;
}

static inline void bf_jmp_reg()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. jmp_reg\n",saturn_PC);
#endif
saturn_PC = reg_addr (op->cpu_dst);
}

static inline void bf_move_pc()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. move_pc\n",saturn_PC);
#endif
move_pc (op->cpu_dst);
saturn_PC += 4;
}

static inline void bf_exg_pc()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. exg_pc\n",saturn_PC);
#endif
saturn_PC = exg_pc (op->cpu_dst);
}

static inline void bf_clr_hst()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. clr_hst\n",saturn_PC);
#endif
clr_hst (last_op[2]);
saturn_PC += 3;
}

static inline void bf_beq_hst()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_hst\n",saturn_PC);
#endif
saturn_CARRY = is_clr_hst (last_op[2]);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bclr_st()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bclr_st\n",saturn_PC);
#endif
bclr_st (last_op[2]);
saturn_PC += 3;
}

static inline void bf_bset_st()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bset_st\n",saturn_PC);
#endif
bset_st (last_op[2]);
saturn_PC += 3;
}

static inline void bf_bbc_st()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bbc_st\n",saturn_PC);
#endif
saturn_CARRY = b_is_clr_st (last_op[2]);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bbs_st()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bbs_st\n",saturn_PC);
#endif
saturn_CARRY = b_is_set_st (last_op[2]);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_reg_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_reg_p\n",saturn_PC);
#endif
saturn_CARRY = ne_reg_p (last_op[2]);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_reg_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_reg_p\n",saturn_PC);
#endif
saturn_CARRY = eq_reg_p (last_op[2]);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_p\n",saturn_PC);
#endif
saturn_CARRY = eq_p (op->cpu_src, op->cpu_dst,saturn_P);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_wp\n",saturn_PC);
#endif
saturn_CARRY = eq_wp (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_xs\n",saturn_PC);
#endif
saturn_CARRY = eq_p (op->cpu_src, op->cpu_dst,2);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_x\n",saturn_PC);
#endif
saturn_CARRY = eq_x (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_s\n",saturn_PC);
#endif
saturn_CARRY = eq_p (op->cpu_src, op->cpu_dst,15);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_m\n",saturn_PC);
#endif
saturn_CARRY = eq_m (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_b\n",saturn_PC);
#endif
saturn_CARRY = eq_b (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_w\n",saturn_PC);
#endif
saturn_CARRY = eq_w (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_a\n",saturn_PC);
#endif
saturn_CARRY = eq_a (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_p\n",saturn_PC);
#endif
saturn_CARRY = ne_p (op->cpu_src, op->cpu_dst,saturn_P);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_wp\n",saturn_PC);
#endif
saturn_CARRY = ne_wp (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_xs\n",saturn_PC);
#endif
saturn_CARRY = ne_p (op->cpu_src, op->cpu_dst,2);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_x\n",saturn_PC);
#endif
saturn_CARRY = ne_x (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_s\n",saturn_PC);
#endif
saturn_CARRY = ne_p (op->cpu_src, op->cpu_dst,15);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_m\n",saturn_PC);
#endif
saturn_CARRY = ne_m (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_b\n",saturn_PC);
#endif
saturn_CARRY = ne_b (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_w\n",saturn_PC);
#endif
saturn_CARRY = ne_w (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_a\n",saturn_PC);
#endif
saturn_CARRY = ne_a (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_zero_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_zero_p\n",saturn_PC);
#endif
saturn_CARRY = eqz_p (op->cpu_src,saturn_P);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_zero_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_zero_wp\n",saturn_PC);
#endif
saturn_CARRY = eqz_wp (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_zero_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_zero_xs\n",saturn_PC);
#endif
saturn_CARRY = eqz_p (op->cpu_src,2);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_zero_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_zero_x\n",saturn_PC);
#endif
saturn_CARRY = eqz_x (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_zero_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_zero_s\n",saturn_PC);
#endif
saturn_CARRY = eqz_p (op->cpu_src,15);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_zero_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_zero_m\n",saturn_PC);
#endif
saturn_CARRY = eqz_m (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_zero_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_zero_b\n",saturn_PC);
#endif
saturn_CARRY = eqz_b (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_zero_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_zero_w\n",saturn_PC);
#endif
saturn_CARRY = eqz_w (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_beq_zero_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. beq_zero_a\n",saturn_PC);
#endif
saturn_CARRY = eqz_a (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_zero_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_zero_p\n",saturn_PC);
#endif
saturn_CARRY = nez_p (op->cpu_src,saturn_P);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_zero_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_zero_wp\n",saturn_PC);
#endif
saturn_CARRY = nez_wp (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_zero_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_zero_xs\n",saturn_PC);
#endif
saturn_CARRY = nez_p (op->cpu_src,2);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_zero_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_zero_x\n",saturn_PC);
#endif
saturn_CARRY = nez_x (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_zero_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_zero_s\n",saturn_PC);
#endif
saturn_CARRY = nez_p (op->cpu_src,15);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_zero_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_zero_m\n",saturn_PC);
#endif
saturn_CARRY = nez_m (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_zero_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_zero_b\n",saturn_PC);
#endif
saturn_CARRY = nez_b (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_zero_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_zero_w\n",saturn_PC);
#endif
saturn_CARRY = nez_w (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bne_zero_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bne_zero_a\n",saturn_PC);
#endif
saturn_CARRY = nez_a (op->cpu_src);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bgt_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bgt_p\n",saturn_PC);
#endif
saturn_CARRY = gt_p (op->cpu_src, op->cpu_dst,saturn_P);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bgt_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bgt_wp\n",saturn_PC);
#endif
saturn_CARRY = gt_wp (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bgt_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bgt_xs\n",saturn_PC);
#endif
saturn_CARRY = gt_p (op->cpu_src, op->cpu_dst,2);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bgt_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bgt_x\n",saturn_PC);
#endif
saturn_CARRY = gt_x (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bgt_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bgt_s\n",saturn_PC);
#endif
saturn_CARRY = gt_p (op->cpu_src, op->cpu_dst,15);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bgt_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bgt_m\n",saturn_PC);
#endif
saturn_CARRY = gt_m (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bgt_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bgt_b\n",saturn_PC);
#endif
saturn_CARRY = gt_b (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bgt_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bgt_w\n",saturn_PC);
#endif
saturn_CARRY = gt_w (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bgt_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bgt_a\n",saturn_PC);
#endif
saturn_CARRY = gt_a (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_blt_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. blt_p\n",saturn_PC);
#endif
saturn_CARRY = lt_p (op->cpu_src, op->cpu_dst,saturn_P);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_blt_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. blt_wp\n",saturn_PC);
#endif
saturn_CARRY = lt_wp (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_blt_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. blt_xs\n",saturn_PC);
#endif
saturn_CARRY = lt_p (op->cpu_src, op->cpu_dst,2);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_blt_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. blt_x\n",saturn_PC);
#endif
saturn_CARRY = lt_x (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_blt_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. blt_s\n",saturn_PC);
#endif
saturn_CARRY = lt_p (op->cpu_src, op->cpu_dst,15);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_blt_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. blt_m\n",saturn_PC);
#endif
saturn_CARRY = lt_m (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_blt_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. blt_b\n",saturn_PC);
#endif
saturn_CARRY = lt_b (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_blt_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. blt_w\n",saturn_PC);
#endif
saturn_CARRY = lt_w (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_blt_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. blt_a\n",saturn_PC);
#endif
saturn_CARRY = lt_a (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bge_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bge_p\n",saturn_PC);
#endif
saturn_CARRY = ge_p (op->cpu_src, op->cpu_dst,saturn_P);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bge_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bge_wp\n",saturn_PC);
#endif
saturn_CARRY = ge_wp (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bge_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bge_xs\n",saturn_PC);
#endif
saturn_CARRY = ge_p (op->cpu_src, op->cpu_dst,2);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bge_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bge_x\n",saturn_PC);
#endif
saturn_CARRY = ge_x (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bge_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bge_s\n",saturn_PC);
#endif
saturn_CARRY = ge_p (op->cpu_src, op->cpu_dst,15);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bge_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bge_m\n",saturn_PC);
#endif
saturn_CARRY = ge_m (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bge_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bge_b\n",saturn_PC);
#endif
saturn_CARRY = ge_b (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bge_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bge_w\n",saturn_PC);
#endif
saturn_CARRY = ge_w (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_bge_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. bge_a\n",saturn_PC);
#endif
saturn_CARRY = ge_a (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_ble_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. ble_p\n",saturn_PC);
#endif
saturn_CARRY = le_p (op->cpu_src, op->cpu_dst,saturn_P);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_ble_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. ble_wp\n",saturn_PC);
#endif
saturn_CARRY = le_wp (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_ble_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. ble_xs\n",saturn_PC);
#endif
saturn_CARRY = le_p (op->cpu_src, op->cpu_dst,2);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_ble_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. ble_x\n",saturn_PC);
#endif
saturn_CARRY = le_x (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_ble_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. ble_s\n",saturn_PC);
#endif
saturn_CARRY = le_p (op->cpu_src, op->cpu_dst,15);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_ble_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. ble_m\n",saturn_PC);
#endif
saturn_CARRY = le_m (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_ble_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. ble_b\n",saturn_PC);
#endif
saturn_CARRY = le_b (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_ble_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. ble_w\n",saturn_PC);
#endif
saturn_CARRY = le_w (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_ble_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. ble_a\n",saturn_PC);
#endif
saturn_CARRY = le_a (op->cpu_src, op->cpu_dst);
if (saturn_CARRY) read_bra_2c();
else saturn_PC += 5;
}

static inline void bf_jmp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. jmp\n",saturn_PC);
#endif
read_abs_5();
}

static inline void bf_jsr()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. jsr\n",saturn_PC);
#endif
push (saturn_PC + 7);
read_abs_5();
}

static inline void bf_add_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_p\n",saturn_PC);
#endif
add_p (op->cpu_src, op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_add_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_wp\n",saturn_PC);
#endif
add_wp (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_add_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_xs\n",saturn_PC);
#endif
add_p (op->cpu_src, op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_add_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_x\n",saturn_PC);
#endif
add_x (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_add_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_s\n",saturn_PC);
#endif
add_p (op->cpu_src, op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_add_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_m\n",saturn_PC);
#endif
add_m (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_add_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_b\n",saturn_PC);
#endif
add_b (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_add_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_w\n",saturn_PC);
#endif
add_w (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_add_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. add_a\n",saturn_PC);
#endif
add_a (op->cpu_src, op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_lsl_1_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_1_p\n",saturn_PC);
#endif
lsl_1_p (op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_lsl_1_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_1_wp\n",saturn_PC);
#endif
lsl_1_wp (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsl_1_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_1_xs\n",saturn_PC);
#endif
lsl_1_p (op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_lsl_1_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_1_x\n",saturn_PC);
#endif
lsl_1_x (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsl_1_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_1_s\n",saturn_PC);
#endif
lsl_1_p (op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_lsl_1_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_1_m\n",saturn_PC);
#endif
lsl_1_m (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsl_1_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_1_b\n",saturn_PC);
#endif
lsl_1_b (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsl_1_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_1_w\n",saturn_PC);
#endif
lsl_1_w (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsl_1_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_1_a\n",saturn_PC);
#endif
lsl_1_a (op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_dec_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. dec_p\n",saturn_PC);
#endif
dec_p (op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_dec_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. dec_wp\n",saturn_PC);
#endif
dec_wp (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_dec_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. dec_xs\n",saturn_PC);
#endif
dec_p (op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_dec_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. dec_x\n",saturn_PC);
#endif
dec_x (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_dec_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. dec_s\n",saturn_PC);
#endif
dec_p (op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_dec_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. dec_m\n",saturn_PC);
#endif
dec_m (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_dec_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. dec_b\n",saturn_PC);
#endif
dec_b (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_dec_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. dec_w\n",saturn_PC);
#endif
dec_w (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_dec_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. dec_a\n",saturn_PC);
#endif
dec_a (op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_clr_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. clr_p\n",saturn_PC);
#endif
clr_p (op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_clr_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. clr_wp\n",saturn_PC);
#endif
clr_wp (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_clr_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. clr_xs\n",saturn_PC);
#endif
clr_p (op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_clr_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. clr_x\n",saturn_PC);
#endif
clr_x (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_clr_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. clr_s\n",saturn_PC);
#endif
clr_p (op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_clr_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. clr_m\n",saturn_PC);
#endif
clr_m (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_clr_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. clr_b\n",saturn_PC);
#endif
clr_b (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_clr_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. clr_w\n",saturn_PC);
#endif
clr_w (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_clr_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. clr_a\n",saturn_PC);
#endif
clr_a (op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_sub_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_p\n",saturn_PC);
#endif
sub_p (op->cpu_src, op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_sub_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_wp\n",saturn_PC);
#endif
sub_wp (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_sub_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_xs\n",saturn_PC);
#endif
sub_p (op->cpu_src, op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_sub_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_x\n",saturn_PC);
#endif
sub_x (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_sub_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_s\n",saturn_PC);
#endif
sub_p (op->cpu_src, op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_sub_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_m\n",saturn_PC);
#endif
sub_m (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_sub_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_b\n",saturn_PC);
#endif
sub_b (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_sub_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_w\n",saturn_PC);
#endif
sub_w (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_sub_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. sub_a\n",saturn_PC);
#endif
sub_a (op->cpu_src, op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_inc_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. inc_p\n",saturn_PC);
#endif
inc_p (op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_inc_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. inc_wp\n",saturn_PC);
#endif
inc_wp (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_inc_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. inc_xs\n",saturn_PC);
#endif
inc_p (op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_inc_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. inc_x\n",saturn_PC);
#endif
inc_x (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_inc_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. inc_s\n",saturn_PC);
#endif
inc_p (op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_inc_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. inc_m\n",saturn_PC);
#endif
inc_m (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_inc_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. inc_b\n",saturn_PC);
#endif
inc_b (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_inc_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. inc_w\n",saturn_PC);
#endif
inc_w (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_inc_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. inc_a\n",saturn_PC);
#endif
inc_a (op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_subr_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. subr_p\n",saturn_PC);
#endif
subr_p (op->cpu_src, op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_subr_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. subr_wp\n",saturn_PC);
#endif
subr_wp (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_subr_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. subr_xs\n",saturn_PC);
#endif
subr_p (op->cpu_src, op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_subr_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. subr_x\n",saturn_PC);
#endif
subr_x (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_subr_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. subr_s\n",saturn_PC);
#endif
subr_p (op->cpu_src, op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_subr_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. subr_m\n",saturn_PC);
#endif
subr_m (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_subr_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. subr_b\n",saturn_PC);
#endif
subr_b (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_subr_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. subr_w\n",saturn_PC);
#endif
subr_w (op->cpu_src, op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_subr_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. subr_a\n",saturn_PC);
#endif
subr_a (op->cpu_src, op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_lsl_4_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_4_p\n",saturn_PC);
#endif
lsl_p (op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_lsl_4_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_4_wp\n",saturn_PC);
#endif
lsl_wp (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsl_4_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_4_xs\n",saturn_PC);
#endif
lsl_p (op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_lsl_4_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_4_x\n",saturn_PC);
#endif
lsl_x (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsl_4_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_4_s\n",saturn_PC);
#endif
lsl_p (op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_lsl_4_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_4_m\n",saturn_PC);
#endif
lsl_m (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsl_4_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_4_b\n",saturn_PC);
#endif
lsl_b (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsl_4_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_4_w\n",saturn_PC);
#endif
lsl_w (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsl_4_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsl_4_a\n",saturn_PC);
#endif
lsl_a (op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_lsr_4_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_4_p\n",saturn_PC);
#endif
lsr_p (op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_lsr_4_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_4_wp\n",saturn_PC);
#endif
lsr_wp (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsr_4_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_4_xs\n",saturn_PC);
#endif
lsr_p (op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_lsr_4_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_4_x\n",saturn_PC);
#endif
lsr_x (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsr_4_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_4_s\n",saturn_PC);
#endif
lsr_p (op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_lsr_4_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_4_m\n",saturn_PC);
#endif
lsr_m (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsr_4_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_4_b\n",saturn_PC);
#endif
lsr_b (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsr_4_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_4_w\n",saturn_PC);
#endif
lsr_w (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_lsr_4_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. lsr_4_a\n",saturn_PC);
#endif
lsr_a (op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_neg_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. neg_p\n",saturn_PC);
#endif
neg_p (op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_neg_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. neg_wp\n",saturn_PC);
#endif
neg_wp (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_neg_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. neg_xs\n",saturn_PC);
#endif
neg_p (op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_neg_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. neg_x\n",saturn_PC);
#endif
neg_x (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_neg_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. neg_s\n",saturn_PC);
#endif
neg_p (op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_neg_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. neg_m\n",saturn_PC);
#endif
neg_m (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_neg_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. neg_b\n",saturn_PC);
#endif
neg_b (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_neg_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. neg_w\n",saturn_PC);
#endif
neg_w (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_neg_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. neg_a\n",saturn_PC);
#endif
neg_a (op->cpu_dst);
saturn_PC += 2;
}

static inline void bf_not_p()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. not_p\n",saturn_PC);
#endif
not_p (op->cpu_dst,saturn_P);
saturn_PC += 3;
}

static inline void bf_not_wp()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. not_wp\n",saturn_PC);
#endif
not_wp (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_not_xs()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. not_xs\n",saturn_PC);
#endif
not_p (op->cpu_dst,2);
saturn_PC += 3;
}

static inline void bf_not_x()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. not_x\n",saturn_PC);
#endif
not_x(op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_not_s()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. not_s\n",saturn_PC);
#endif
not_p (op->cpu_dst,15);
saturn_PC += 3;
}

static inline void bf_not_m()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. not_m\n",saturn_PC);
#endif
not_m (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_not_b()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. not_b\n",saturn_PC);
#endif
not_b (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_not_w()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. not_w\n",saturn_PC);
#endif
not_w (op->cpu_dst);
saturn_PC += 3;
}

static inline void bf_not_a()
{
#ifdef DEBUG_OPCODES
printf("%.5lX. not_a\n",saturn_PC);
#endif
not_a (op->cpu_dst);
saturn_PC += 2;
}
