bsh.cgs revision 1.1 1 1.1 christos # v850 bsh
2 1.1 christos # mach: v850e
3 1.1 christos # as(v850e): -mv850e
4 1.1 christos
5 1.1 christos .include "testutils.inc"
6 1.1 christos
7 1.1 christos seti 0x12345678, r1
8 1.1 christos bsh r1, r2
9 1.1 christos
10 1.1 christos flags 0
11 1.1 christos reg r2, 0x34127856
12 1.1 christos
13 1.1 christos # CY is 1 if one or more bytes in the result half-word is zero, else 0
14 1.1 christos
15 1.1 christos seti 0x12345600, r1
16 1.1 christos bsh r1, r2
17 1.1 christos flags c
18 1.1 christos reg r2, 0x34120056
19 1.1 christos
20 1.1 christos seti 0x12340078, r1
21 1.1 christos bsh r1, r2
22 1.1 christos flags c
23 1.1 christos reg r2, 0x34127800
24 1.1 christos
25 1.1 christos seti 0x12005678, r1
26 1.1 christos bsh r1, r2
27 1.1 christos flags 0
28 1.1 christos reg r2, 0x00127856
29 1.1 christos
30 1.1 christos seti 0x00345678, r1
31 1.1 christos bsh r1, r2
32 1.1 christos flags 0
33 1.1 christos reg r2, 0x34007856
34 1.1 christos
35 1.1 christos # S is set if the result is negative
36 1.1 christos
37 1.1 christos seti 0x00800000, r1
38 1.1 christos bsh r1, r2
39 1.1 christos flags s + c + z
40 1.1 christos reg r2, 0x80000000
41 1.1 christos
42 1.1 christos # Z is set if the result is zero
43 1.1 christos # According to NEC, the Z flag depends on only the lower half-word
44 1.1 christos
45 1.1 christos seti 0x00000000, r1
46 1.1 christos bsh r1, r2
47 1.1 christos flags c + z
48 1.1 christos reg r2, 0x00000000
49 1.1 christos
50 1.1 christos seti 0xffff0000, r1
51 1.1 christos bsh r1, r2
52 1.1 christos flags c + s + z
53 1.1 christos reg r2, 0xffff0000
54 1.1 christos
55 1.1 christos pass
56