示例#1
0
template<void (R65816::*op)()> void R65816::op_read_addr_w() {
  aa.l = op_readpc();
  aa.h = op_readpc();
  rd.l = op_readdbr(aa.w + 0);
L rd.h = op_readdbr(aa.w + 1);
  call(op);
}
示例#2
0
template<void (R65816::*op)()> void R65816::op_read_addry_w() {
  aa.l = op_readpc();
  aa.h = op_readpc();
  op_io_cond4(aa.w, aa.w + regs.y.w);
  rd.l = op_readdbr(aa.w + regs.y.w + 0);
L rd.h = op_readdbr(aa.w + regs.y.w + 1);
  call(op);
}
示例#3
0
template<void (CPUcore::*op)()> void CPUcore::op_read_addrx_w() {
  aa.l = op_readpc();
  aa.h = op_readpc();
  op_io_cond4(aa.w, aa.w + regs.x.w);
  rd.l = op_readdbr(aa.w + regs.x.w + 0);
L rd.h = op_readdbr(aa.w + regs.x.w + 1);
  call(op);
}
示例#4
0
template<void (R65816::*op)()> void R65816::op_read_idp_w() {
  dp = op_readpc();
  op_io_cond2();
  aa.l = op_readdp(dp + 0);
  aa.h = op_readdp(dp + 1);
  rd.l = op_readdbr(aa.w + 0);
L rd.h = op_readdbr(aa.w + 1);
  call(op);
}
示例#5
0
template<void (R65816::*op)()> void R65816::op_read_isry_w() {
  sp = op_readpc();
  op_io();
  aa.l = op_readsp(sp + 0);
  aa.h = op_readsp(sp + 1);
  op_io();
  rd.l = op_readdbr(aa.w + regs.y.w + 0);
L rd.h = op_readdbr(aa.w + regs.y.w + 1);
  call(op);
}
示例#6
0
template<void (CPUcore::*op)()> void CPUcore::op_read_idpy_w() {
  dp = op_readpc();
  op_io_cond2();
  aa.l = op_readdp(dp + 0);
  aa.h = op_readdp(dp + 1);
  op_io_cond4(aa.w, aa.w + regs.y.w);
  rd.l = op_readdbr(aa.w + regs.y.w + 0);
L rd.h = op_readdbr(aa.w + regs.y.w + 1);
  call(op);
}
示例#7
0
template<void (CPUcore::*op)()> void CPUcore::op_read_idp_b() {
  dp = op_readpc();
  op_io_cond2();
  aa.l = op_readdp(dp + 0);
  aa.h = op_readdp(dp + 1);
L rd.l = op_readdbr(aa.w);
  call(op);
}
示例#8
0
template<void (R65816::*op)()> void R65816::op_read_idpy_b() {
  dp = op_readpc();
  op_io_cond2();
  aa.l = op_readdp(dp + 0);
  aa.h = op_readdp(dp + 1);
  op_io_cond4(aa.w, aa.w + regs.y.w);
L rd.l = op_readdbr(aa.w + regs.y.w);
  call(op);
}
示例#9
0
template<void (CPUcore::*op)()> void CPUcore::op_read_isry_b() {
  sp = op_readpc();
  op_io();
  aa.l = op_readsp(sp + 0);
  aa.h = op_readsp(sp + 1);
  op_io();
L rd.l = op_readdbr(aa.w + regs.y.w);
  call(op);
}
示例#10
0
template<void (CPUcore::*op)()> void CPUcore::op_read_addr_b() {
  aa.l = op_readpc();
  aa.h = op_readpc();
L rd.l = op_readdbr(aa.w);
  call(op);
}