.\" @(#)mvbits.3f 1.5 92/01/28 SMI; from UCB 4.2
.TH MVBITS 3F "07 July 1995"
.SH NAME
mvbits \- move specified bits
.SH SYNOPSIS
.\"
.IX mvbits "" \fLmvbits\fP
.IX move bits
.\"
.nf
.ft 3
subroutine mvbits (src, ini1, nbits, des, ini2 )
integer*4 src, ini1, nbits, des, ini2
.fi
.ft 1
.\"
.SH DESCRIPTION
.\"
.LP
This routine moves bits from
.BR src ,
starting with bit
.BR ini1 ,
number of bits moved
.BR nbits , 
to
.BR des ,
starting with bit
.BR ini2 .
.\"
.SH NOTES
.\"
.PP
.sp
Usage:
.sp .2
.in +2
.nf
.ft 3
INTEGER*4  src, ini1, nbits, des, ini2
	...
CALL mvbits(src, ini1, nbits, des, ini2)
.sp
.in -2
.ft 1
.fi
Restrictions:
.sp .2
.in +2
.B
ini1
+
.B
nbits
\(<=
32
.br
.B
ini2
+
.B
nbits
\(<=
32
.sp
.in -2
Example:
.sp .2
demo%
.B "cat  mvb1.f"
.br
.B "* mvb1.f 
\     \ <-- 
.I "From src, initial bit 0, move 3 bits to"
.br
.I "*\                   \ des initial bit 3" 
.br
.B "*\ \ \ src\ \ \ des"
.br
.B "* 543210 543210"
\     \ <-- 
.I Bit numbers (VMS convention)
.br
.B "* 000111 000001"
\     \ <-- 
.I Values before move 
.br
.B "* 000111 111001"
\     \ <--
.I Values after move
.sp
.nf
.ft 3
    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 
.ft 1
.fi
.br
demo% 
.B "f77 \-silent mvb1.f"
.br
demo% 
.B a.out 
.br
\ \ 7\ \ 0 3 71\ \ 3 
.br
demo%
.\"
.SH FILES
.\"
.BR libF77.a 
.\"
.SH "SEE ALSO"
.\"
.I "FORTRAN 77 Reference Manual"
