subroutine mvbits (src, ini1, nbits, des, ini2 ) integer*4 src, ini1, nbits, des, ini2
このルーチンは、ビット ini1 で始まる src からビット ini2 で始まる des に、指定された nbits ビット数だけビットを移動します。
使用法:
INTEGER*4 src, ini1, nbits, des, ini2 ... CALL mvbits(src, ini1, nbits, des, ini2)
制限事項:
ini1 + nbits <= 32 ini2 + nbits <= 32
例:
demo% cat mvb1.f * mvb1.f <-- From src, initial bit 0, move 3 bits to * des initial bit 3 * src des * 543210 543210 <-- Bit numbers (VMS convention) * 000111 000001 <-- Values before move * 000111 111001 <-- Values after move INTEGER*4 src, ini1, nbits, des, ini2 DATA src, ini1, nbits, des, ini2 & / 7, 0, 3, 1, 3 / CALL mvbits ( src, ini1, nbits, des, ini2 ) WRITE (*,"(5O3)") src, ini1, nbits, des, ini2 END demo% f77 -silent mvb1.f demo% a.out 7 0 3 71 3 demo%
libfui.a
FORTRAN 77 リファレンスマニュアル