1
0
mirror of https://github.com/wfjm/w11.git synced 2026-02-05 00:05:26 +00:00
Files
wfjm.w11/tools/tests/divtst/tstall.dat

211 lines
14 KiB
Plaintext

; $Id: tstall.dat 1265 2022-07-30 14:30:48Z mueller $
;
# test_div: test div instruction
# test basics (via testd2)
# dr>0
000000 000000 000003 : 0100 000000 000000 # 0/ 3: 0, 0
000000 000001 000003 : 0100 000000 000001 # 1/ 3: 0, 1
000000 000002 000003 : 0100 000000 000002 # 2/ 3: 0, 2
000000 000003 000003 : 0000 000001 000000 # 3/ 3: 1, 0
000000 000004 000003 : 0000 000001 000001 # 4/ 3: 1, 1
177777 177777 000003 : 0100 000000 177777 # -1/ 3: 0, -1
177777 177776 000003 : 0100 000000 177776 # -2/ 3: 0, -2
177777 177775 000003 : 1000 177777 000000 # -3/ 3: -1, 0
177777 177774 000003 : 1000 177777 177777 # -4/ 3: -1, -1
# dr<0
000000 000000 177775 : 0100 000000 000000 # 0/ -3: 0, 0
000000 000001 177775 : 0100 000000 000001 # 1/ -3: 0, 1
000000 000002 177775 : 0100 000000 000002 # 2/ -3: 0, 2
000000 000003 177775 : 1000 177777 000000 # 3/ -3: -1, 0
000000 000004 177775 : 1000 177777 000001 # 4/ -3: -1, 1
177777 177777 177775 : 0100 000000 177777 # -1/ -3: 0, -1
177777 177776 177775 : 0100 000000 177776 # -2/ -3: 0, -2
177777 177775 177775 : 0000 000001 000000 # -3/ -3: 1, 0
177777 177774 177775 : 0000 000001 177777 # -4/ -3: 1, -1
# dr==0
000000 000000 000000 : 0111 000000 000000 # 0/ 0: 0, 0
000000 000001 000000 : 0111 000000 000000 # 1/ 0: 0, 0
177777 177777 000000 : 0111 000000 000000 # -1/ 0: 0, 0
# test 4 quadrant basics (via testd2)
000000 000042 000005 : 0000 000006 000004 # 34/ 5: 6, 4
000000 000042 177773 : 1000 177772 000004 # 34/ -5: -6, 4
177777 177736 000005 : 1000 177772 177774 # -34/ 5: -6, -4
177777 177736 177773 : 0000 000006 177774 # -34/ -5: 6, -4
# test 4 quadrant basics (via testdqr)
000000 000042 000005 : 0000 000006 000004 # 34/ 5: 6, 4
000000 000042 177773 : 1000 177772 000004 # 34/ -5: -6, 4
177777 177736 000005 : 1000 177772 177774 # -34/ 5: -6, -4
177777 177736 177773 : 0000 000006 177774 # -34/ -5: 6, -4
# test q=100000 boundary cases (q = max neg value)
# case dd>0, dr<0 -- factor 21846
025253 000000 125252 : 1000 100000 000000 # 715849728/-21846:-32768, 0
025253 000001 125252 : 1000 100000 000001 # 715849729/-21846:-32768, 1
025253 052524 125252 : 1000 100000 052524 # 715871572/-21846:-32768, 21844
025253 052525 125252 : 1000 100000 052525 # 715871573/-21846:-32768, 21845
025253 052526 125252 : 1010 025253 052526 # 715871574/-21846: 10923, 21846
025253 052527 125252 : 1010 025253 052527 # 715871575/-21846: 10923, 21847
# case dd<0, dr>0 -- factor 21846
152525 000000 052526 : 1000 100000 000000 # -715849728/ 21846:-32768, 0
152524 177777 052526 : 1000 100000 177777 # -715849729/ 21846:-32768, -1
152524 125254 052526 : 1000 100000 125254 # -715871572/ 21846:-32768,-21844
152524 125253 052526 : 1000 100000 125253 # -715871573/ 21846:-32768,-21845
152524 125252 052526 : 1010 152524 125252 # -715871574/ 21846:-10924,-21846
152524 125251 052526 : 1010 152524 125251 # -715871575/ 21846:-10924,-21847
# case dd>0, dr<0 -- factor 21847
025253 100000 125251 : 1000 100000 000000 # 715882496/-21847:-32768, 0
025253 100001 125251 : 1000 100000 000001 # 715882497/-21847:-32768, 1
025253 152525 125251 : 1000 100000 052525 # 715904341/-21847:-32768, 21845
025253 152526 125251 : 1000 100000 052526 # 715904342/-21847:-32768, 21846
025253 152527 125251 : 1010 025253 152527 # 715904343/-21847: 10923,-10921
025253 152530 125251 : 1010 025253 152530 # 715904344/-21847: 10923,-10920
# case dd<0, dr>0 -- factor 21847
152524 100000 052527 : 1000 100000 000000 # -715882496/ 21847:-32768, 0
152524 077777 052527 : 1000 100000 177777 # -715882497/ 21847:-32768, -1
152524 025253 052527 : 1000 100000 125253 # -715904341/ 21847:-32768,-21845
152524 025252 052527 : 1000 100000 125252 # -715904342/ 21847:-32768,-21846
152524 025251 052527 : 1010 152524 025251 # -715904343/ 21847:-10924, 10921
152524 025250 052527 : 1010 152524 025250 # -715904344/ 21847:-10924, 10920
# test q=077777 boundary cases (q = max pos value)
# case dd>0, dr>0 -- factor 21846
025252 125252 052526 : 0000 077777 000000 # 715827882/ 21846: 32767, 0
025252 125253 052526 : 0000 077777 000001 # 715827883/ 21846: 32767, 1
025252 177776 052526 : 0000 077777 052524 # 715849726/ 21846: 32767, 21844
025252 177777 052526 : 0000 077777 052525 # 715849727/ 21846: 32767, 21845
025253 000000 052526 : 0010 025253 000000 # 715849728/ 21846: 10923, 0
025253 000001 052526 : 0010 025253 000001 # 715849729/ 21846: 10923, 1
# case dd<0, dr<0 -- factor 21846
152525 052526 125252 : 0000 077777 000000 # -715827882/-21846: 32767, 0
152525 052525 125252 : 0000 077777 177777 # -715827883/-21846: 32767, -1
152525 000002 125252 : 0000 077777 125254 # -715849726/-21846: 32767,-21844
152525 000001 125252 : 0000 077777 125253 # -715849727/-21846: 32767,-21845
152525 000000 125252 : 0010 152525 000000 # -715849728/-21846:-10923, 0
152524 177777 125252 : 0010 152524 177777 # -715849729/-21846:-10924, -1
# case dd>0, dr>0 -- factor 21847
025253 025251 052527 : 0000 077777 000000 # 715860649/ 21847: 32767, 0
025253 025252 052527 : 0000 077777 000001 # 715860650/ 21847: 32767, 1
025253 077776 052527 : 0000 077777 052525 # 715882494/ 21847: 32767, 21845
025253 077777 052527 : 0000 077777 052526 # 715882495/ 21847: 32767, 21846
025253 100000 052527 : 0010 025253 100000 # 715882496/ 21847: 10923,-32768
025253 100001 052527 : 0010 025253 100001 # 715882497/ 21847: 10923,-32767
# case dd<0, dr<0 -- factor 21847
152524 152527 125251 : 0000 077777 000000 # -715860649/-21847: 32767, 0
152524 152526 125251 : 0000 077777 177777 # -715860650/-21847: 32767, -1
152524 100002 125251 : 0000 077777 125253 # -715882494/-21847: 32767,-21845
152524 100001 125251 : 0000 077777 125252 # -715882495/-21847: 32767,-21846
152524 100001 125251 : 0000 077777 125252 # -715882495/-21847: 32767,-21846
152524 100000 125251 : 0010 152524 100000 # -715882496/-21847:-10924,-32768
# test dr=100000 boundary cases (dr = max neg value)
# case dd<0, q>0
177777 100000 100000 : 0000 000001 000000 # -32768/-32768: 1, 0
177777 077777 100000 : 0000 000001 177777 # -32769/-32768: 1, -1
177777 000001 100000 : 0000 000001 100001 # -65535/-32768: 1,-32767
177777 000000 100000 : 0000 000002 000000 # -65536/-32768: 2, 0
177776 177777 100000 : 0000 000002 177777 # -65537/-32768: 2, -1
177776 100001 100000 : 0000 000002 100001 # -98303/-32768: 2,-32767
177776 100000 100000 : 0000 000003 000000 # -98304/-32768: 3, 0
177776 077777 100000 : 0000 000003 177777 # -98305/-32768: 3, -1
177776 000001 100000 : 0000 000003 100001 # -131071/-32768: 3,-32767
177776 000000 100000 : 0000 000004 000000 # -131072/-32768: 4, 0
177775 177777 100000 : 0000 000004 177777 # -131073/-32768: 4, -1
177775 100001 100000 : 0000 000004 100001 # -163839/-32768: 4,-32767
177775 000000 100000 : 0000 000006 000000 # -196608/-32768: 6, 0
140003 000000 100000 : 0000 077772 000000 # -1073545216/-32768: 32762, 0
140002 000000 100000 : 0000 077774 000000 # -1073610752/-32768: 32764, 0
140001 100000 100000 : 0000 077775 000000 # -1073643520/-32768: 32765, 0
140001 000000 100000 : 0000 077776 000000 # -1073676288/-32768: 32766, 0
140000 177777 100000 : 0000 077776 177777 # -1073676289/-32768: 32766, -1
140000 100001 100000 : 0000 077776 100001 # -1073709055/-32768: 32766,-32767
140000 100000 100000 : 0000 077777 000000 # -1073709056/-32768: 32767, 0
140000 077777 100000 : 0000 077777 177777 # -1073709057/-32768: 32767, -1
140000 000001 100000 : 0000 077777 100001 # -1073741823/-32768: 32767,-32767
# case dd>0, q<0
000000 100000 100000 : 1000 177777 000000 # 32768/-32768: -1, 0
000000 100001 100000 : 1000 177777 000001 # 32769/-32768: -1, 1
000000 177777 100000 : 1000 177777 077777 # 65535/-32768: -1, 32767
000001 000000 100000 : 1000 177776 000000 # 65536/-32768: -2, 0
000001 000001 100000 : 1000 177776 000001 # 65537/-32768: -2, 1
000001 077777 100000 : 1000 177776 077777 # 98303/-32768: -2, 32767
037777 100000 100000 : 1000 100001 000000 # 1073709056/-32768:-32767, 0
037777 100001 100000 : 1000 100001 000001 # 1073709057/-32768:-32767, 1
037777 177777 100000 : 1000 100001 077777 # 1073741823/-32768:-32767, 32767
040000 000000 100000 : 1000 100000 000000 # 1073741824/-32768:-32768, 0
040000 000001 100000 : 1000 100000 000001 # 1073741825/-32768:-32768, 1
040000 077777 100000 : 1000 100000 077777 # 1073774591/-32768:-32768, 32767
# test dr=077777 boundary cases (dr = max pos value)
# case dd>0, q>0
000000 077777 077777 : 0000 000001 000000 # 32767/ 32767: 1, 0
000000 100000 077777 : 0000 000001 000001 # 32768/ 32767: 1, 1
000000 177775 077777 : 0000 000001 077776 # 65533/ 32767: 1, 32766
000000 177776 077777 : 0000 000002 000000 # 65534/ 32767: 2, 0
000000 177777 077777 : 0000 000002 000001 # 65535/ 32767: 2, 1
000001 077774 077777 : 0000 000002 077776 # 98300/ 32767: 2, 32766
037776 100002 077777 : 0000 077776 000000 # 1073643522/ 32767: 32766, 0
037776 100003 077777 : 0000 077776 000001 # 1073643523/ 32767: 32766, 1
037777 000000 077777 : 0000 077776 077776 # 1073676288/ 32767: 32766, 32766
037777 000001 077777 : 0000 077777 000000 # 1073676289/ 32767: 32767, 0
037777 000002 077777 : 0000 077777 000001 # 1073676290/ 32767: 32767, 1
037777 077777 077777 : 0000 077777 077776 # 1073709055/ 32767: 32767, 32766
# case dd<0, q<0
177777 100001 077777 : 1000 177777 000000 # -32767/ 32767: -1, 0
177777 100000 077777 : 1000 177777 177777 # -32768/ 32767: -1, -1
177777 000003 077777 : 1000 177777 100002 # -65533/ 32767: -1,-32766
177777 000002 077777 : 1000 177776 000000 # -65534/ 32767: -2, 0
177777 000001 077777 : 1000 177776 177777 # -65535/ 32767: -2, -1
177776 100004 077777 : 1000 177776 100002 # -98300/ 32767: -2,-32766
140000 177777 077777 : 1000 100001 000000 # -1073676289/ 32767:-32767, 0
140000 177776 077777 : 1000 100001 177777 # -1073676290/ 32767:-32767, -1
140000 100001 077777 : 1000 100001 100002 # -1073709055/ 32767:-32767,-32766
140000 100000 077777 : 1000 100000 000000 # -1073709056/ 32767:-32768, 0
140000 077777 077777 : 1000 100000 177777 # -1073709057/ 32767:-32768, -1
140000 000002 077777 : 1000 100000 100002 # -1073741822/ 32767:-32768,-32766
# test dd max cases
# case dd>0 dr<0 near nmax*nmax+nmax-1 = +1073774591
037777 177777 100000 : 1000 100001 077777 # 1073741823/-32768:-32767, 32767
040000 000000 100000 : 1000 100000 000000 # 1073741824/-32768:-32768, 0
040000 000001 100000 : 1000 100000 000001 # 1073741825/-32768:-32768, 1
040000 077776 100000 : 1000 100000 077776 # 1073774590/-32768:-32768, 32766
040000 077777 100000 : 1000 100000 077777 # 1073774591/-32768:-32768, 32767
037777 100000 100000 : 1000 100001 000000 # 1073709056/-32768:-32767, 0
037777 100001 100000 : 1000 100001 000001 # 1073709057/-32768:-32767, 1
# case dd>0 dr>0 near pmax*pmax+pmax-1 = +1073709055
037777 000000 077777 : 0000 077776 077776 # 1073676288/ 32767: 32766, 32766
037777 000001 077777 : 0000 077777 000000 # 1073676289/ 32767: 32767, 0
037777 000002 077777 : 0000 077777 000001 # 1073676290/ 32767: 32767, 1
037777 077776 077777 : 0000 077777 077775 # 1073709054/ 32767: 32767, 32765
037777 077777 077777 : 0000 077777 077776 # 1073709055/ 32767: 32767, 32766
037777 100000 077777 : 0010 037777 100000 # 1073709056/ 32767: 16383,-32768
037776 100001 077777 : 0000 077775 077776 # 1073643521/ 32767: 32765, 32766
# case dd<0 dr>0 near nmax*pmax+pmax-1 = -1073741822
140000 100001 077777 : 1000 100001 100002 # -1073709055/ 32767:-32767,-32766
140000 100000 077777 : 1000 100000 000000 # -1073709056/ 32767:-32768, 0
140000 077777 077777 : 1000 100000 177777 # -1073709057/ 32767:-32768, -1
140000 000003 077777 : 1000 100000 100003 # -1073741821/ 32767:-32768,-32765
140000 000002 077777 : 1000 100000 100002 # -1073741822/ 32767:-32768,-32766
140000 000001 077777 : 1010 140000 000001 # -1073741823/ 32767:-16384, 1
140000 000000 077777 : 1010 140000 000000 # -1073741824/ 32767:-16384, 0
# case dd<0 dr<0 near pmax*nmax+nmax-1 = -1073741823
140000 100001 100000 : 0000 077776 100001 # -1073709055/-32768: 32766,-32767
140000 100000 100000 : 0000 077777 000000 # -1073709056/-32768: 32767, 0
140000 077777 100000 : 0000 077777 177777 # -1073709057/-32768: 32767, -1
140000 000002 100000 : 0000 077777 100002 # -1073741822/-32768: 32767,-32766
140000 000001 100000 : 0000 077777 100001 # -1073741823/-32768: 32767,-32767
140000 000000 100000 : 0010 140000 000000 # -1073741824/-32768:-16384, 0
137777 177777 100000 : 0010 137777 177777 # -1073741825/-32768:-16385, -1
# test late div quit cases in 2 quadrant algorithm
177777 100001 177777 : 0000 077777 000000 # -32767/ -1: 32767, 0
177777 100000 177777 : 0010 000000 000000 # -32768/ -1: 0, 0
177777 077777 177777 : 0010 000000 000000 # -32769/ -1: 0, 0
177777 000002 177776 : 0000 077777 000000 # -65534/ -2: 32767, 0
177777 000001 177776 : 0000 077777 177777 # -65535/ -2: 32767, -1
177777 000000 177776 : 0010 000000 000000 # -65536/ -2: 0, 0
177776 177777 177776 : 0010 000000 000000 # -65537/ -2: 0, 0
# test big divident overflow cases
077777 177777 000001 : 0010 000000 000000 # 2147483647/ 1: 0, 0
077777 177777 000002 : 0010 000000 000000 # 2147483647/ 2: 0, 0
077777 177777 177777 : 1010 000000 000000 # 2147483647/ -1: 0, 0
077777 177777 177776 : 1010 000000 000000 # 2147483647/ -2: 0, 0
100000 000000 000001 : 1010 000000 000000 # -2147483648/ 1: 0, 0
100000 000000 000002 : 1010 000000 000000 # -2147483648/ 2: 0, 0
100000 000000 177777 : 0010 000000 000000 # -2147483648/ -1: 0, 0
100000 000000 177776 : 0010 000000 000000 # -2147483648/ -2: 0, 0