Home | History | Annotate | Line # | Download | only in v850
      1  1.1  christos # v850 divh_3
      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 # Regular divhision - check signs
      8  1.1  christos # The S flag is based on the quotient, not the remainder
      9  1.1  christos 
     10  1.1  christos 	seti	6, r1
     11  1.1  christos 	seti	45, r2
     12  1.1  christos 	divh	r1, r2, r3
     13  1.1  christos 
     14  1.1  christos 	flags	0
     15  1.1  christos 	reg	r1, 6
     16  1.1  christos 	reg	r2, 7
     17  1.1  christos 	reg	r3, 3
     18  1.1  christos 
     19  1.1  christos 	seti	-6, r1
     20  1.1  christos 	seti	45, r2
     21  1.1  christos 	divh	r1, r2, r3
     22  1.1  christos 
     23  1.1  christos 	flags	s
     24  1.1  christos 	reg	r1, -6
     25  1.1  christos 	reg	r2, -7
     26  1.1  christos 	reg	r3, 3
     27  1.1  christos 
     28  1.1  christos 	seti	6, r1
     29  1.1  christos 	seti	-45, r2
     30  1.1  christos 	divh	r1, r2, r3
     31  1.1  christos 
     32  1.1  christos 	flags	s
     33  1.1  christos 	reg	r1, 6
     34  1.1  christos 	reg	r2, -7
     35  1.1  christos 	reg	r3, -3
     36  1.1  christos 
     37  1.1  christos 	seti	-6, r1
     38  1.1  christos 	seti	-45, r2
     39  1.1  christos 	divh	r1, r2, r3
     40  1.1  christos 
     41  1.1  christos 	flags	0
     42  1.1  christos 	reg	r1, -6
     43  1.1  christos 	reg	r2, 7
     44  1.1  christos 	reg	r3, -3
     45  1.1  christos 
     46  1.1  christos # Only the lower half of the dividend is used
     47  1.1  christos 
     48  1.1  christos 	seti	0x0000fffa, r1
     49  1.1  christos 	seti	-45, r2
     50  1.1  christos 	divh	r1, r2, r3
     51  1.1  christos 
     52  1.1  christos 	flags	0
     53  1.1  christos 	reg	r1, 0x0000fffa
     54  1.1  christos 	reg	r2, 7
     55  1.1  christos 	reg	r3, -3
     56  1.1  christos 
     57  1.1  christos 
     58  1.1  christos # If the data is divhided by zero, OV=1 and the quotient is undefined.
     59  1.1  christos # According to NEC, the S and Z flags, and the output registers, are
     60  1.1  christos # unchanged.
     61  1.1  christos 
     62  1.1  christos 	noflags
     63  1.1  christos 	seti	0, r1
     64  1.1  christos 	seti	45, r2
     65  1.1  christos 	seti	67, r3
     66  1.1  christos 	divh	r1, r2, r3
     67  1.1  christos 
     68  1.1  christos 	flags	v
     69  1.1  christos 	reg	r2, 45
     70  1.1  christos 	reg	r3, 67
     71  1.1  christos 
     72  1.1  christos 	allflags
     73  1.1  christos 	seti	0, r1
     74  1.1  christos 	seti	45, r2
     75  1.1  christos 	seti	67, r3
     76  1.1  christos 	divh	r1, r2, r3
     77  1.1  christos 
     78  1.1  christos 	flags	sat + c + v + s + z
     79  1.1  christos 	reg	r2, 45
     80  1.1  christos 	reg	r3, 67
     81  1.1  christos 
     82  1.1  christos # Zero / (N!=0) => normal
     83  1.1  christos 
     84  1.1  christos 	noflags
     85  1.1  christos 	seti	45, r1
     86  1.1  christos 	seti	0, r2
     87  1.1  christos 	seti	67, r3
     88  1.1  christos 	divh	r1, r2, r3
     89  1.1  christos 
     90  1.1  christos 	flags	z
     91  1.1  christos 	reg	r1, 45
     92  1.1  christos 	reg	r2, 0
     93  1.1  christos 	reg	r3, 0
     94  1.1  christos 
     95  1.1  christos # Test for regular overflow
     96  1.1  christos 
     97  1.1  christos 	noflags
     98  1.1  christos 	seti	-1, r1
     99  1.1  christos 	seti	0x80000000, r2
    100  1.1  christos 	seti	67, r3
    101  1.1  christos 	divh	r1, r2, r3
    102  1.1  christos 
    103  1.1  christos 	flags	v + s
    104  1.1  christos 	reg	r1, -1
    105  1.1  christos 	reg	r2, 0x80000000
    106  1.1  christos 	reg	r3, 0
    107  1.1  christos 
    108  1.1  christos # The Z flag is based on the quotient, not the remainder
    109  1.1  christos 
    110  1.1  christos 	noflags
    111  1.1  christos 	seti	45, r1
    112  1.1  christos 	seti	16, r2
    113  1.1  christos 	divh	r1, r2, r3
    114  1.1  christos 
    115  1.1  christos 	flags	z
    116  1.1  christos 	reg	r2, 0
    117  1.1  christos 	reg	r3, 16
    118  1.1  christos 
    119  1.1  christos # If the quot and rem registers are the same, the remainder is stored.
    120  1.1  christos 
    121  1.1  christos 	seti	6, r1
    122  1.1  christos 	seti	45, r2
    123  1.1  christos 	divh	r1, r2, r2
    124  1.1  christos 
    125  1.1  christos 	flags	0
    126  1.1  christos 	reg	r1, 6
    127  1.1  christos 	reg	r2, 3
    128  1.1  christos 
    129  1.1  christos 
    130  1.1  christos 	pass
    131