* simops.c (OP_500): Fix displacement handling for sld.w.
(OP_501): Similarly for sst.w. More fixes exposed by tda testing.
This commit is contained in:
parent
e32ded5231
commit
85c09b0518
2 changed files with 5 additions and 2 deletions
|
@ -1,5 +1,8 @@
|
|||
Thu Oct 24 12:26:35 1996 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* simops.c (OP_500): Fix displacement handling for sld.w.
|
||||
(OP_501): Similarly for sst.w.
|
||||
|
||||
* simops.c (trace_input): Remove all references to SEXT7.
|
||||
(OP_300, OP_400, OP_500, OP_380, OP_480, OP_501): Displacement
|
||||
is zero extended for sst/sld instructions.
|
||||
|
|
|
@ -456,7 +456,7 @@ OP_500 ()
|
|||
trace_input ("sld.w", OP_LOAD16, 4);
|
||||
temp = OP[1];
|
||||
temp &= 0x7f;
|
||||
op2 = temp << 2;
|
||||
op2 = temp << 1;
|
||||
result = load_mem (State.regs[30] + op2, 4);
|
||||
State.regs[OP[0]] = result;
|
||||
trace_output (OP_LOAD16);
|
||||
|
@ -505,7 +505,7 @@ OP_501 ()
|
|||
op0 = State.regs[OP[0]];
|
||||
temp = OP[1];
|
||||
temp &= 0x7f;
|
||||
op1 = temp << 2;
|
||||
op1 = temp << 1;
|
||||
store_mem (State.regs[30] + op1, 4, op0);
|
||||
trace_output (OP_STORE16);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue