public virtual long readS8()
{
long c1 = r();
long c2 = r();
long c3 = r();
long c4 = r();
long c5 = r();
long c6 = r();
long c7 = r();
long c8 = r();
if ((c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8) < 0) throw IOErr.make("Unexpected end of stream").val;
if (m_bigEndian)
return ((c1 << 56) + (c2 << 48) + (c3 << 40) + (c4 << 32) +
(c5 << 24) + (c6 << 16) + (c7 << 8) + c8);
else
return ((c8 << 56) + (c7 << 48) + (c6 << 40) + (c5 << 32) +
(c4 << 24) + (c3 << 16) + (c2 << 8) + c1);
}