# An example of pushing floating point constants (使用预置的浮点数)
#
.section .text
.globl main
main:
nop
fld1 # 把+0。1压入FPU堆栈
fldl2t # 把10的对数(底数2)压入FPU堆栈
fldl2e # 把e的对数(底数2)压入FPU堆栈
fldpi # 把pi的值压入FPU堆栈
fldlg2 # 把2的对数(底数10)压入FPU堆栈
fldln2 # 把2的对数(底数e)压入FPU堆栈
fldz # 把+0.0压入FPU堆栈
movl $0, %eax
movl $1, %ebx
int $0x80
# gcc -g -o 08 08-fldl2t.s -m32
# gdb -q -f 08
# (gdb) i all
st0 0 (raw 0x00000000000000000000)
st1 0.693147180559945309429 (raw 0x3ffeb17217f7d1cf79ac)
st2 0.301029995663981195226 (raw 0x3ffd9a209a84fbcff799)
st3 3.14159265358979323851 (raw 0x4000c90fdaa22168c235)
st4 1.44269504088896340739 (raw 0x3fffb8aa3b295c17f0bc)
st5 3.32192809488736234781 (raw 0x4000d49a784bcd1b8afe)
st6 1 (raw 0x3fff8000000000000000)
st7 0 (raw 0x00000000000000000000)
值的顺序和它们被存放到堆栈中的顺序是相反的。