Exemplo n.º 1
0
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++;
}
Exemplo n.º 2
0
void MFC1(void)
{
   if (check_cop1_unusable()) return;
   rrt32 = *((int*)reg_cop1_simple[rfs]);
   sign_extended(rrt);
   PC++;
}
Exemplo n.º 3
0
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++;
}
Exemplo n.º 4
0
Arquivo: cop0.c Projeto: RDCH106/Not64
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++;
}
Exemplo n.º 5
0
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);
     }
Exemplo n.º 6
0
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);
     }
Exemplo n.º 7
0
void SLL()
{
   rrd32 = (unsigned long)(rrt32) << rsa;
   sign_extended(rrd);
   PC++;
}
Exemplo n.º 8
0
void SLL(void)
{
   rrd32 = (unsigned int)(rrt32) << rsa;
   sign_extended(rrd);
   PC++;
}