サブルーチンは、次のように呼び出します。
|
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%
|
次の点に注意してください。