1*45699Sbostic /* Awrite_long.c 1.2 90/12/04 */ 229642Ssam 3*45699Sbostic #include "align.h" 429642Ssam 529642Ssam write_longword (infop, longword, where) 629642Ssam process_info *infop; 729642Ssam long longword; 829642Ssam struct oprnd *where; 929642Ssam /* 1029642Ssam /* Put the longword at the given address in 1129642Ssam /* tahoe's memory. 1229642Ssam /* 1329642Ssam /**************************************************/ 1429642Ssam { 1529642Ssam if (! (where->mode & W)) exception(infop, ILL_ADDRMOD); 1629642Ssam switch (where->mode & ADDFIELD) /* Mask out R/W bits */ 1729642Ssam { 1829642Ssam case Add: 1929642Ssam case SPmode: 2029642Ssam put_longword (infop, longword, where->address); 2129642Ssam break; 2229642Ssam case Dir: 2329642Ssam Replace (infop, where->reg_number, longword); 2429642Ssam break; 2529642Ssam default: 2629642Ssam printf("Unknown destination in write_long (alignment code)\n"); 2729642Ssam }; 2829642Ssam } 29