divh.cgs revision 1.1 1 1.1 christos # v850 divh
2 1.1 christos # mach: all
3 1.1 christos
4 1.1 christos .include "testutils.inc"
5 1.1 christos
6 1.1 christos # Regular division - check signs
7 1.1 christos
8 1.1 christos seti 6, r1
9 1.1 christos seti 45, r2
10 1.1 christos divh r1, r2
11 1.1 christos
12 1.1 christos flags 0
13 1.1 christos reg r1, 6
14 1.1 christos reg r2, 7
15 1.1 christos
16 1.1 christos seti -6, r1
17 1.1 christos seti 45, r2
18 1.1 christos divh r1, r2
19 1.1 christos
20 1.1 christos flags s
21 1.1 christos reg r1, -6
22 1.1 christos reg r2, -7
23 1.1 christos
24 1.1 christos seti 6, r1
25 1.1 christos seti -45, r2
26 1.1 christos divh r1, r2
27 1.1 christos
28 1.1 christos flags s
29 1.1 christos reg r1, 6
30 1.1 christos reg r2, -7
31 1.1 christos
32 1.1 christos seti -6, r1
33 1.1 christos seti -45, r2
34 1.1 christos divh r1, r2
35 1.1 christos
36 1.1 christos flags 0
37 1.1 christos reg r1, -6
38 1.1 christos reg r2, 7
39 1.1 christos
40 1.1 christos # Only the lower half of the dividend is used
41 1.1 christos
42 1.1 christos seti 0x0000fffa, r1
43 1.1 christos seti -45, r2
44 1.1 christos divh r1, r2
45 1.1 christos
46 1.1 christos flags 0
47 1.1 christos reg r1, 0x0000fffa
48 1.1 christos reg r2, 7
49 1.1 christos
50 1.1 christos # If the data is divhided by zero, OV=1 and the quotient is undefined.
51 1.1 christos # According to NEC, the S and Z flags, and the output registers, are
52 1.1 christos # unchanged.
53 1.1 christos
54 1.1 christos noflags
55 1.1 christos seti 0, r1
56 1.1 christos seti 45, r2
57 1.1 christos seti 67, r3
58 1.1 christos divh r1, r2
59 1.1 christos
60 1.1 christos flags v
61 1.1 christos reg r2, 45
62 1.1 christos
63 1.1 christos allflags
64 1.1 christos seti 0, r1
65 1.1 christos seti 45, r2
66 1.1 christos seti 67, r3
67 1.1 christos divh r1, r2
68 1.1 christos
69 1.1 christos flags sat + c + v + s + z
70 1.1 christos reg r2, 45
71 1.1 christos
72 1.1 christos # Zero / (N!=0) => normal
73 1.1 christos
74 1.1 christos noflags
75 1.1 christos seti 45, r1
76 1.1 christos seti 0, r2
77 1.1 christos seti 67, r3
78 1.1 christos divh r1, r2
79 1.1 christos
80 1.1 christos flags z
81 1.1 christos reg r1, 45
82 1.1 christos reg r2, 0
83 1.1 christos
84 1.1 christos # Test for regular overflow
85 1.1 christos
86 1.1 christos noflags
87 1.1 christos seti -1, r1
88 1.1 christos seti 0x80000000, r2
89 1.1 christos divh r1, r2
90 1.1 christos
91 1.1 christos flags v + s
92 1.1 christos reg r1, -1
93 1.1 christos reg r2, 0x80000000
94 1.1 christos
95 1.1 christos
96 1.1 christos pass
97