サブルーチンは、次のように呼び出します。
call mvbits( src, ini1, nbits, des, ini2 ) |
|||
src |
INTEGER*4 |
入力 |
移動元 |
ini1 |
INTEGER*4 |
入力 |
移動元でのビットの初期位置 |
nbits |
INTEGER*4 |
入力 | |
des |
INTEGER*4 |
出力 |
移動先 |
ini2 |
INTEGER*4 |
入力 |
移動先でのビットの初期位置 |
demo% cat mvb1.f * mvb1.f -- 移動元 src の初期ビット位置 0 から 3 ビットを des の * ビット 3 へ移動 * src des * 543210 543210 <- ビット番号 * 000111 000001 <- 移動前の値 * 000111 111001 <- 移動後の値 INTEGER*4 src, ini1, nbits, des, ini2 data src, ini1, nbits, des, ini2 1 / 7, 0, 3, 1, 3 / call mvbits ( src, ini1, nbits, des, ini2 ) write (*,"(5o3)") src, ini1, nbits, des, ini2 end demo% f95 mvb1.f demo% a.out 7 0 3 71 3 demo% |
次の点に注意してください。