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