本文整理汇总了C++中READ_OP函数的典型用法代码示例。如果您正苦于以下问题:C++ READ_OP函数的具体用法?C++ READ_OP怎么用?C++ READ_OP使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了READ_OP函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: op_0xc3
/*JP @*/
static void op_0xc3(Z80EX_CONTEXT *cpu)
{
temp_word.b.l=READ_OP();
temp_word.b.h=READ_OP();
JP(temp_word.w);
T_WAIT_UNTIL(10);
return;
}
示例2: op_0xcd
/*CALL @*/
static void op_0xcd(Z80EX_CONTEXT *cpu)
{
temp_word.b.l=READ_OP();
temp_word.b.h=READ_OP();
CALL(temp_word.w, /*wr*/11,14);
T_WAIT_UNTIL(17);
return;
}
示例3: op_0x31
/*LD SP,@*/
static void op_0x31(Z80EX_CONTEXT *cpu)
{
temp_word.b.l=READ_OP();
temp_word.b.h=READ_OP();
LD16(SP,temp_word.w);
T_WAIT_UNTIL(10);
return;
}
示例4: op_0x3a
/*LD A,(@)*/
static void op_0x3a(Z80EX_CONTEXT *cpu)
{
temp_addr.b.l=READ_OP();
temp_addr.b.h=READ_OP();
READ_MEM(temp_byte,temp_addr.w,10);
LD_A_FROM_ADDR_MPTR(A,temp_byte, temp_addr.w);
T_WAIT_UNTIL(13);
return;
}
示例5: saturn_instruction_8
static void saturn_instruction_8(void)
{
int oper;
switch(READ_OP()) {
case 0:
saturn_instruction_80();
break;
case 1:
saturn_instruction_81();
break;
case 2: saturn_hst_clear_bits();break;
case 3: saturn_hst_bits_cleared();break;
case 4: saturn_st_clear_bit();break;
case 5: saturn_st_set_bit();break;
case 6: saturn_st_jump_bit_clear();break;
case 7: saturn_st_jump_bit_set();break;
case 8: saturn_p_not_equals(); break;
case 9: saturn_p_equals(); break;
case 0xa:
switch(oper=READ_OP()) {
case 0: case 1: case 2: case 3:
saturn_equals(reg_left[oper&3] , BEGIN_A, COUNT_A, reg_right[oper&3]);
break;
case 4: case 5: case 6: case 7:
saturn_not_equals(reg_left[oper&3] , BEGIN_A, COUNT_A, reg_right[oper&3]);
break;
case 8: case 9: case 0xa: case 0xb:
saturn_equals_zero(A+(oper&3), BEGIN_A, COUNT_A);
break;
case 0xc: case 0xd: case 0xe: case 0xf:
saturn_not_equals_zero(A+(oper&3), BEGIN_A, COUNT_A);
break;
}
break;
case 0xb:
switch(oper=READ_OP()) {
case 0: case 1: case 2: case 3:
saturn_greater(reg_left[oper&3] , BEGIN_A, COUNT_A, reg_right[oper&3]);
break;
case 4: case 5: case 6: case 7:
saturn_smaller(reg_left[oper&3] , BEGIN_A, COUNT_A, reg_right[oper&3]);
break;
case 8: case 9: case 0xa: case 0xb:
saturn_greater_equals(reg_left[oper&3], BEGIN_A, COUNT_A, reg_right[oper&3]);
break;
case 0xc: case 0xd: case 0xe: case 0xf:
saturn_smaller_equals(reg_left[oper&3], BEGIN_A, COUNT_A, reg_right[oper&3]);
break;
}
break;
case 0xc: saturn_jump((READ_OP_DIS16()+saturn.pc-4)&0xfffff,1);break;
case 0xd: saturn_jump(READ_OP_ARG20(),1);break;
case 0xe: saturn_call((READ_OP_DIS16()+saturn.pc)&0xfffff);break;
case 0xf: saturn_call(READ_OP_ARG20());break;
}
}
示例6: op_0x32
/*LD (@),A*/
static void op_0x32(Z80EX_CONTEXT *cpu)
{
temp_addr.b.l=READ_OP();
temp_addr.b.h=READ_OP();
LD_A_TO_ADDR_MPTR(temp_byte,A, temp_addr.w);
WRITE_MEM(temp_addr.w,temp_byte,10);
T_WAIT_UNTIL(13);
return;
}
示例7: op_ED_0x63
/*LD (@),HL*/
static void op_ED_0x63(void)
{
temp_addr.b.l=READ_OP();
temp_addr.b.h=READ_OP();
LD_RP_TO_ADDR_MPTR_16(temp_word.w,HL, temp_addr.w);
WRITE_MEM(temp_addr.w,temp_word.b.l,10);
WRITE_MEM(temp_addr.w+1,temp_word.b.h,13);
T_WAIT_UNTIL(16);
return;
}
示例8: op_ED_0x7b
/*LD SP,(@)*/
static void op_ED_0x7b(void)
{
temp_addr.b.l=READ_OP();
temp_addr.b.h=READ_OP();
READ_MEM(temp_word.b.l,temp_addr.w,10);
READ_MEM(temp_word.b.h,temp_addr.w+1,13);
LD_RP_FROM_ADDR_MPTR_16(SP,temp_word.w, temp_addr.w);
T_WAIT_UNTIL(16);
return;
}
示例9: op_ED_0x73
/*LD (@),SP*/
static void op_ED_0x73(Z80EX_CONTEXT *cpu)
{
temp_addr.b.l=READ_OP();
temp_addr.b.h=READ_OP();
LD_RP_TO_ADDR_MPTR_16(temp_word.w,SP, temp_addr.w);
WRITE_MEM(temp_addr.w,temp_word.b.l,10);
WRITE_MEM(temp_addr.w+1,temp_word.b.h,13);
T_WAIT_UNTIL(16);
return;
}
示例10: op_ED_0x4b
/*LD BC,(@)*/
static void op_ED_0x4b(Z80EX_CONTEXT *cpu)
{
temp_addr.b.l=READ_OP();
temp_addr.b.h=READ_OP();
READ_MEM(temp_word.b.l,temp_addr.w,10);
READ_MEM(temp_word.b.h,temp_addr.w+1,13);
LD_RP_FROM_ADDR_MPTR_16(BC,temp_word.w, temp_addr.w);
T_WAIT_UNTIL(16);
return;
}
示例11: op_DD_0x36
/*LD (IX+$),#*/
static void op_DD_0x36(Z80EX_CONTEXT *cpu)
{
temp_byte=READ_OP();
temp_byte_s=(temp_byte & 0x80)? -(((~temp_byte) & 0x7f)+1): temp_byte;
MEMPTR=(IX+temp_byte_s);
temp_byte=READ_OP();
LD(temp_byte,temp_byte);
WRITE_MEM((IX+temp_byte_s),temp_byte,12);
T_WAIT_UNTIL(15);
return;
}
示例12: op_0xfc
/*CALL M,@*/
static void op_0xfc(Z80EX_CONTEXT *cpu)
{
temp_word.b.l=READ_OP();
temp_word.b.h=READ_OP();
if(F & FLAG_S) {
CALL(temp_word.w, /*wr*/11,14);
T_WAIT_UNTIL(17);
}
else { T_WAIT_UNTIL(10);MEMPTR=temp_word.w;}
return;
}
示例13: op_0xfa
/*JP M,@*/
static void op_0xfa(Z80EX_CONTEXT *cpu)
{
temp_word.b.l=READ_OP();
temp_word.b.h=READ_OP();
if(F & FLAG_S) {
JP(temp_word.w);
T_WAIT_UNTIL(10);
}
else { T_WAIT_UNTIL(10);MEMPTR=temp_word.w;}
return;
}
示例14: op_0xf6
/*OR #*/
static void op_0xf6(Z80EX_CONTEXT *cpu)
{
temp_byte=READ_OP();
OR(temp_byte);
T_WAIT_UNTIL(7);
return;
}
示例15: op_0xd3
/*OUT (#),A*/
static void op_0xd3(Z80EX_CONTEXT *cpu)
{
temp_word.w=(READ_OP() + ( A << 8 ));
OUT_A(temp_word.w,A, /*wr*/8);
T_WAIT_UNTIL(11);
return;
}