Add getf{s,d} sign bit tests.

This commit is contained in:
Denis Drakhnia 2021-01-29 17:45:56 +02:00
parent 012e8b5985
commit 0813758e6e
3 changed files with 153 additions and 0 deletions

3
src/getfd_sign.gdb Normal file
View File

@ -0,0 +1,3 @@
c
c
info registers b

103
src/getfd_sign.log Normal file
View File

@ -0,0 +1,103 @@
Breakpoint 1 at 0x10088
Breakpoint 2 at 0x10160
0x0000000000010078 in _start ()
Breakpoint 1, 0x0000000000010088 in _start ()
Breakpoint 2, 0x0000000000010160 in _stop ()
b0 <00> 0xf218 61976
b1 <00> 0xf238 62008
b2 <00> 0x7f 127
b3 <00> 0x8f 143
b4 <00> 0x7f 127
b5 <00> 0x8f 143
b6 <00> 0xf 15
b7 <00> 0xf 15
b8 <00> 0x7f 127
b9 <00> 0xffffff8f 4294967183
b10 <00> 0x7f 127
b11 <00> 0xffffffffffffff8f 18446744073709551503
b12 <00> 0xe 14
b13 <00> 0xe 14
b14 <00> 0x7f 127
b15 <00> 0x8f 143
b16 <00> 0x7f 127
b17 <00> 0x8f 143
b18 <00> 0xd 13
b19 <00> 0xd 13
b20 <00> 0xffffff7f 4294967167
b21 <00> 0xffffff8f 4294967183
b22 <00> 0xffffffffffffff7f 18446744073709551487
b23 <00> 0xffffffffffffff8f 18446744073709551503
b24 <00> 0xc 12
b25 <00> 0xc 12
b26 <00> 0x7f 127
b27 <00> 0x8f 143
b28 <00> 0x7f 127
b29 <00> 0x8f 143
b30 <00> 0xb 11
b31 <00> 0xb 11
b32 <00> 0xffffff7f 4294967167
b33 <00> 0xffffff8f 4294967183
b34 <00> 0xffffffffffffff7f 18446744073709551487
b35 <00> 0xffffffffffffff8f 18446744073709551503
b36 <00> 0xa 10
b37 <00> 0xa 10
b38 <00> 0x7f 127
b39 <00> 0x8f 143
b40 <00> 0x7f 127
b41 <00> 0x8f 143
b42 <00> 0x9 9
b43 <00> 0x9 9
b44 <00> 0xffffff7f 4294967167
b45 <00> 0xffffff8f 4294967183
b46 <00> 0xffffffffffffff7f 18446744073709551487
b47 <00> 0xffffffffffffff8f 18446744073709551503
b48 <00> 0x8 8
b49 <00> 0x8 8
b50 <00> 0x7f 127
b51 <00> 0x8f 143
b52 <00> 0x7f 127
b53 <00> 0x8f 143
b54 <00> 0x7 7
b55 <00> 0x7 7
b56 <00> 0x7f 127
b57 <00> 0xffffff8f 4294967183
b58 <00> 0xffffffffffffff7f 18446744073709551487
b59 <00> 0xffffffffffffff8f 18446744073709551503
b60 <00> 0x6 6
b61 <00> 0x6 6
b62 <00> 0x7f 127
b63 <00> 0x8f 143
b64 <00> 0x7f 127
b65 <00> 0x8f 143
b66 <00> 0x5 5
b67 <00> 0x5 5
b68 <00> 0xffffff7f 4294967167
b69 <00> 0xffffff8f 4294967183
b70 <00> 0xffffffffffffff7f 18446744073709551487
b71 <00> 0xffffffffffffff8f 18446744073709551503
b72 <00> 0x4 4
b73 <00> 0x4 4
b74 <00> 0x7f 127
b75 <00> 0x8f 143
b76 <00> 0x7f 127
b77 <00> 0x8f 143
b78 <00> 0x3 3
b79 <00> 0x3 3
b80 <00> 0xffffff7f 4294967167
b81 <00> 0xffffff8f 4294967183
b82 <00> 0xffffffffffffff7f 18446744073709551487
b83 <00> 0xffffffffffffff8f 18446744073709551503
b84 <00> 0x2 2
b85 <00> 0x2 2
b86 <00> 0x7f 127
b87 <00> 0x8f 143
b88 <00> 0x7f 127
b89 <00> 0x8f 143
b90 <00> 0x1 1
b91 <00> 0x1 1
b92 <00> 0xffffff7f 4294967167
b93 <00> 0xffffff8f 4294967183
b94 <00> 0xffffffffffffff7f 18446744073709551487
b95 <00> 0xffffffffffffff8f 18446744073709551503

47
src/getfd_sign.s Normal file
View File

@ -0,0 +1,47 @@
.global _start
.global _stop
_start:
{
setwd wsz=52, nfx=1, dbl=1
setbn rsz=47, rbs=4, rcur=0
}
addd 0, 0x7fffffff, %r0
addd 0, 0x8fffffff, %r1
addd 0, 0x7fffffffffffffff, %r2
addd 0, 0x8fffffffffffffff, %r3
addd 0, 0x218, %r4
addd 0, 0x238, %r5
addd 0, 0, %r6
{
nop 3
disp %ctpr1, 0f
rwd 0x2000000010, %lsr
}
0:
{
addd %r6, 1, %r6
shld %r6, 12, %r7
addd %r6, 0, %b[0]
addd %r6, 0, %b[1]
}
{
ord %r4, %r7, %r8
ord %r5, %r7, %r9
}
{
getfs %r0, %r8, %b[2]
getfs %r1, %r8, %b[3]
getfd %r2, %r9, %b[4]
getfd %r3, %r9, %b[5]
}
abn abnf=1, abnt=1
abn abnf=1, abnt=1
{
alc alcf=1, alct=1
abn abnf=1, abnt=1
ct %ctpr1 ? #NOT_LOOP_END
}
_stop:
udivs 0, 0, %r0