1 typedef unsigned long uint32
;
2 typedef signed long sint32
;
5 ext (sint32 src
, unsigned o5
, unsigned w5
)
7 return (w5
== 0) ? src
>> o5
: (src
<< (( - o5
- w5
) & 31)) >> (32 - w5
);
11 extu (uint32 src
, unsigned o5
, unsigned w5
)
13 return (w5
== 0) ? src
>> o5
: (src
<< (( - o5
- w5
) & 31)) >> (32 - w5
);
17 mak (uint32 src
, unsigned o5
, unsigned w5
)
19 return (w5
== 0) ? src
<< o5
: (src
<< (32 - w5
)) >> (( - o5
- w5
) & 31);
23 rot (uint32 src
, unsigned o5
)
25 return (src
>> o5
) | (src
<< (( - o5
) & 31));
28 main (int argc
, char **argv
)
30 printf ("%x\n", clr (0xffffffff, atoi (argv
[2]), atoi (argv
[1])));