* compile.c (init_pointers): Abort if wreg never gets initialized.
(sim_resume): Fix the handling of exts.w and extu.w.
This commit is contained in:
parent
5b729aa5d6
commit
ec38ce9947
2 changed files with 10 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2003-02-05 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* compile.c (init_pointers): Abort if wreg never gets initialized.
|
||||
(sim_resume): Fix the handling of exts.w and extu.w.
|
||||
|
||||
2003-01-31 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* compile.c (sim_resume): Fix the handling of bxor.
|
||||
|
|
|
@ -753,6 +753,7 @@ init_pointers (void)
|
|||
}
|
||||
p++;
|
||||
}
|
||||
wreg[i] = wreg[i + 8] = 0;
|
||||
while (q < u)
|
||||
{
|
||||
if (*q == 0x2233)
|
||||
|
@ -765,6 +766,8 @@ init_pointers (void)
|
|||
}
|
||||
q++;
|
||||
}
|
||||
if (wreg[i] == 0 || wreg[i + 8] == 0)
|
||||
abort ();
|
||||
cpu.regs[i] = 0;
|
||||
lreg[i] = &cpu.regs[i];
|
||||
}
|
||||
|
@ -1606,7 +1609,7 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
|
|||
goto next;
|
||||
}
|
||||
case O (O_EXTS, SW):
|
||||
rd = GET_B_REG (code->src.reg + 8) & 0xff; /* Yes, src, not dst. */
|
||||
rd = GET_W_REG (code->src.reg) & 0xff; /* Yes, src, not dst. */
|
||||
ea = rd & 0x80 ? -256 : 0;
|
||||
res = rd + ea;
|
||||
goto log16;
|
||||
|
@ -1616,7 +1619,7 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
|
|||
res = rd + ea;
|
||||
goto log32;
|
||||
case O (O_EXTU, SW):
|
||||
rd = GET_B_REG (code->src.reg + 8) & 0xff;
|
||||
rd = GET_W_REG (code->src.reg) & 0xff;
|
||||
ea = 0;
|
||||
res = rd + ea;
|
||||
goto log16;
|
||||
|
|
Loading…
Add table
Reference in a new issue