75d56517198ca19e04b78b48a79e67d20d3fc5d2
/* Awrite_byte.c 1.1 86/07/20 */
#include "../tahoealign/align.h"
write_byte (infop
,byte
, where
)
/* Put the 'byte' at the given address in
/* 1. Only the least significant byte is written.
/**************************************************/
register struct operand_des
*look_at
;
look_at
= &Table
[opCODE
].operand
[last_operand
];
if (! (look_at
->add_modes
& NOVF
))
if (byte
> 0x7f || byte
< -0x80) overflow_1
;
if (!(where
->mode
& W
)) exception(infop
, ILL_ADDRMOD
);
switch (where
->mode
& ADDFIELD
) /* Mask out R/W bits */
put_byte(infop
, byte
, where
->address
);
Replace (infop
, where
->reg_number
, byte
);
where
->mode
= where
->mode
& ~SPmode
| Add
;
write_longword (infop
, byte
, where
);
printf("Unknown destination in write_byte (alignment code)\n");