| ! Test the MVBITS intrinsic subroutine | |
| INTEGER*4 :: from, to, result | |
| integer*8 :: from8, to8 | |
| DATA from / z'0003FFFC' / | |
| DATA to / z'77760000' / | |
| DATA result / z'7777FFFE' / | |
| CALL mvbits(from, 2, 16, to, 1) | |
| if (to /= result) STOP 1 | |
| to8 = 0_8 | |
| from8 = int(b'1011',8)*2_8**32 | |
| call mvbits (from8, 33, 3, to8, 2) | |
| if (to8 /= int(b'10100',8)) STOP 1 | |
| end |