Files
linux-kernel-module-cheat/userland/arch/x86_64/fxch.S
2019-06-22 00:00:01 +00:00

46 lines
670 B
ArmAsm

/* https://github.com/cirosantilli/linux-kernel-module-cheat#x86-x87-fpu-instructions */
#include <lkmc.h>
.data
double_0_0: .double 0.0
double_1_0: .double 1.0
LKMC_PROLOGUE
fldz
# ST0 = 0.0
fld1
# ST0 = 1.0
# ST1 = 0.0
# Swap ST0 and ST1.
fxch %st(1)
# ST0 = 0.0
# ST1 = 1.0
fldz
# ST0 = 0.0
# ST1 = 0.0
# ST2 = 1.0
fcomip %st(1)
# ST0 = 0.0
# ST1 = 1.0
LKMC_ASSERT(je)
# Swap ST0 and ST1.
fxch %st(1)
# ST0 = 1.0
# ST1 = 0.0
fld1
# ST0 = 1.0
# ST1 = 1.0
# ST2 = 0.0
fcomip %st(1)
# ST0 = 1.0
# ST1 = 0.0
LKMC_ASSERT(je)
LKMC_EPILOGUE