summaryrefslogtreecommitdiff
path: root/test/floattest.asm
diff options
context:
space:
mode:
Diffstat (limited to 'test/floattest.asm')
-rw-r--r--test/floattest.asm28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/floattest.asm b/test/floattest.asm
new file mode 100644
index 0000000..3c7ba8b
--- /dev/null
+++ b/test/floattest.asm
@@ -0,0 +1,28 @@
+;Testname=optimized; Arguments=-Ox -felf -ofloattest.o; Files=stdout stderr floattest.o
+
+; nasm -O99 -f elf32 floattest.asm
+; ld -m elf_i386 -o floattest floattest.o -I/lib/ld-linux.so.2 -lc
+
+ global _start
+ extern printf
+
+ section .text
+_start:
+
+ fld qword [num1]
+ fadd qword [num2]
+ sub esp, 8
+ fstp qword [esp]
+ push fmt
+ call printf
+ add esp, 4*3
+
+ mov eax, 1
+ xor ebx, ebx
+ int 80h
+
+ section .data
+num1 dq 41.5
+num2 dq 0.5
+
+fmt db "%f", 10, 0