* simops.c (OP_500): Mask off low bit in displacement

for sld.w.
        (OP_501): Similarly.
More bugs exposed by tda testing.
This commit is contained in:
Jeff Law
1996-10-24 21:19:22 +00:00
parent 85c09b0518
commit f009978996
2 changed files with 6 additions and 2 deletions

View File

@@ -1,5 +1,9 @@
Thu Oct 24 12:26:35 1996 Jeffrey A Law (law@cygnus.com)
* simops.c (OP_500): Mask off low bit in displacement
for sld.w.
(OP_501): Similarly.
* simops.c (OP_500): Fix displacement handling for sld.w.
(OP_501): Similarly for sst.w.

View File

@@ -455,7 +455,7 @@ OP_500 ()
trace_input ("sld.w", OP_LOAD16, 4);
temp = OP[1];
temp &= 0x7f;
temp &= 0x7e;
op2 = temp << 1;
result = load_mem (State.regs[30] + op2, 4);
State.regs[OP[0]] = result;
@@ -504,7 +504,7 @@ OP_501 ()
trace_input ("sst.w", OP_STORE16, 4);
op0 = State.regs[OP[0]];
temp = OP[1];
temp &= 0x7f;
temp &= 0x7e;
op1 = temp << 1;
store_mem (State.regs[30] + op1, 4, op0);
trace_output (OP_STORE16);