diff --git a/README.adoc b/README.adoc index 85e2652..7eaa00b 100644 --- a/README.adoc +++ b/README.adoc @@ -12397,6 +12397,7 @@ Bibliography: * Integer typecasts ** link:userland/arch/x86_64/movzx.S[]: MOVZX ** link:userland/arch/x86_64/movsx.S[]: MOVSX +* link:userland/arch/x86_64/bswap.S[]: BSWAP: convert between little endian and big endian ==== x86 CQTO and CLTQ instructions diff --git a/userland/arch/x86_64/bswap.S b/userland/arch/x86_64/bswap.S new file mode 100644 index 0000000..c6e56fa --- /dev/null +++ b/userland/arch/x86_64/bswap.S @@ -0,0 +1,13 @@ +# # bswap + + # Little endian <=> big endian. + +#include + +LKMC_PROLOGUE + + mov $0x12345678, %eax + bswapl %eax + LKMC_ASSERT_EQ_32(%eax, $0x78563412) + +LKMC_EPILOGUE