diff --git a/scp.c b/scp.c index eb61bc61..e124865c 100644 --- a/scp.c +++ b/scp.c @@ -9979,21 +9979,21 @@ ptr = ((char *) rptr->loc) + (idx * rptr->stride); /* point at the starting if (rptr->size == sizeof (uint8)) /* store the value */ *((uint8 *) ptr) = /* using a size */ - (uint8) (*((uint8 *) ptr) & mask | val); /* appropriate to */ + ((uint8) (*((uint8 *) ptr) & mask) | val); /* appropriate to */ /* the size of */ else if (rptr->size == sizeof (uint16)) /* the underlying type */ *((uint16 *) ptr) = - (uint16) (*((uint16 *) ptr) & mask | val); + ((uint16) (*((uint16 *) ptr) & mask) | val); else if (rptr->size == sizeof (uint32)) *((uint32 *) ptr) = - (uint32) (*((uint32 *) ptr) & mask | val); + ((uint32) (*((uint32 *) ptr) & mask) | val); else /* if the element size is non-standard */ *((t_value *) ptr) = /* then access using the largest size permitted */ - *((t_value *) ptr) & mask | val; + (*((t_value *) ptr) & mask) | val; if ((!(sim_switches & SWMASK ('Z'))) && (rptr->flags & REG_DEPOSIT) && sim_vm_reg_update)