/*- * Copyright (c) 1986 The Regents of the University of California. * All rights reserved. * * This code is derived from software contributed to Berkeley by * Computer Consoles Inc. * * %sccs.include.redist.c% * * @(#)Amovzwl.c 7.1 (Berkeley) 12/06/90 */ #include "align.h" movzwl(infop) process_info *infop; /* /* Move word to longword, zero-extended /* /****************************************/ { register long result; register struct oprnd *oppnt; oppnt = operand(infop,0); result = oppnt->data; negative_0; if (result == 0 ) zero_1 ; else zero_0; overflow_0; carry_1; if ((oppnt->mode & 0xff) == Dir) write_back (infop, result , operand(infop,1) ); else write_back (infop, result & 0xffff, operand(infop,1) ); }