Home | History | Annotate | Line # | Download | only in v850
      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