Commit | Line | Data |
---|---|---|
6499767c | 1 | /* Amovzwl.c 1.2 90/12/04 */ |
8c866ebc | 2 | |
6499767c | 3 | #include "align.h" |
8c866ebc SL |
4 | movzwl(infop) process_info *infop; |
5 | /* | |
6 | /* Move word to longword, zero-extended | |
7 | /* | |
8 | /****************************************/ | |
9 | { | |
10 | register long result; | |
11 | register struct oprnd *oppnt; | |
12 | ||
13 | oppnt = operand(infop,0); | |
14 | result = oppnt->data; | |
15 | negative_0; | |
16 | if (result == 0 ) zero_1 ; else zero_0; | |
17 | overflow_0; carry_1; | |
18 | if ((oppnt->mode & 0xff) == Dir) | |
19 | write_back (infop, result , operand(infop,1) ); | |
20 | else write_back (infop, result & 0xffff, operand(infop,1) ); | |
21 | } |