16 SUBROUTINE sbytesc(OUT,IN,ISKIP,NBYTE,NSKIP,N)
18 integer in(N), bitcnt, ones(8), tbit
20 data ones/ 1, 3, 7, 15, 31, 63,127,255/
25 nbit = iskip + nbyte - 1
31 nbit = nbit + nbyte + nskip
35 tbit = min(bitcnt,ibit+1)
36 imask = ishft(ones(tbit),7-ibit)
37 itmp2 = iand(ishft(itmp,7-ibit),imask)
38 itmp3 = iand(
mova2i(out(index)), 255-imask)
39 out(index) = char(ior(itmp2,itmp3))
40 bitcnt = bitcnt - tbit
41 itmp = ishft(itmp, -tbit)
48 do while (bitcnt.ge.8)
49 out(index) = char(iand(itmp,255))
58 itmp2 = iand(itmp,ones(bitcnt))
59 itmp3 = iand(
mova2i(out(index)), 255-ones(bitcnt))
60 out(index) = char(ior(itmp2,itmp3))
subroutine sbytesc(out, in, iskip, nbyte, nskip, n)
Store bytes - pack bits: Put arbitrary size values into a packed bit string, taking the low order bit...