Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text
- .global bitrev
- .type bitrev, @function
- bitrev:
- mov %rdi,%rax
- mov %rdi,%rbx
- and $0x5555555555555555,%rax
- shl $1,%rax
- and $0xAAAAAAAAAAAAAAAA,%rbx
- shr $1,%rbx
- or %rbx,%rax
- mov %rax,%rbx
- and $0x3333333333333333,%rax
- shl $2,%rax
- and $0xCCCCCCCCCCCCCCCC,%rbx
- shr $2,%rbx
- or %rbx,%rax
- mov %rax,%rbx
- and $0x0F0F0F0F0F0F0F0F,%rax
- shl $4,%rax
- and $0xF0F0F0F0F0F0F0F0,%rbx
- shr $4,%rbx
- or %rbx,%rax
- mov %rax,%rbx
- and $0x00FF00FF00FF00FF,%rax
- shl $8,%rax
- and $0xFF00FF00FF00FF00,%rbx
- shr $8,%rbx
- or %rbx,%rax
- mov %rax,%rbx
- and $0x0000FFFF0000FFFF,%rax
- shl $16,%rax
- and $0xFFFF0000FFFF0000,%rbx
- shr $16,%rbx
- or %rbx,%rax
- mov %rax,%rbx
- and $0x00000000FFFFFFFF,%rax
- shl $32,%rax
- and $0xFFFFFFFF00000000,%rbx
- shr $32,%rbx
- or %rbx,%rax
- ret
- .size bitrev, .-bitrev
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement