void CFC1(void) { if (check_cop1_unusable()) return; if (rfs==31) { rrt32 = FCR31; sign_extended(rrt); } if (rfs==0) { rrt32 = FCR0; sign_extended(rrt); } PC++; }
void MFC1(void) { if (check_cop1_unusable()) return; rrt32 = *((int*)reg_cop1_simple[rfs]); sign_extended(rrt); PC++; }
void MFC0(void) { switch(PC->f.r.nrd) { case 1: DebugMessage(M64MSG_ERROR, "MFC0 instruction reading un-implemented Random register"); stop=1; default: rrt32 = reg_cop0[PC->f.r.nrd]; sign_extended(rrt); } PC++; }
void MFC0() { switch(PC->f.r.nrd) { case 1: printf("lecture de Random\n"); stop=1; default: rrt32 = reg_cop0[PC->f.r.nrd]; sign_extended(rrt); } PC++; }
void JAL() { PC++; delay_slot=1; PC->ops(); update_count(); delay_slot=0; if (!skip_jump) { reg[31]=PC->addr; sign_extended(reg[31]); PC=actual->block+ (((((PC-2)->f.j.inst_index<<2) | ((PC-1)->addr & 0xF0000000))-actual->start)>>2); }
void JAL(void) { PC++; delay_slot=1; #ifdef DBG if (g_DebuggerActive) update_debugger(PC->addr); #endif PC->ops(); update_count(); delay_slot=0; if (!skip_jump) { reg[31]=PC->addr; sign_extended(reg[31]); PC=actual->block+ (((((PC-2)->f.j.inst_index<<2) | ((PC-1)->addr & 0xF0000000))-actual->start)>>2); }
void SLL() { rrd32 = (unsigned long)(rrt32) << rsa; sign_extended(rrd); PC++; }
void SLL(void) { rrd32 = (unsigned int)(rrt32) << rsa; sign_extended(rrd); PC++; }