FPU 操作浮點數
阿新 • • 發佈:2018-11-16
.section .data value1: .int 40 value2: .float 92.4405 value3: .double 221.440321 .section .bss .lcomm intl ,4 .lcomm control ,2 .lcomm status ,2 .lcomm result ,4 .section .text .globl _start _start: nop finit #初始化FPU fstcw control fstsw status filds value1 #把一個雙整數值載入到FPU暫存器堆疊中去 fists intl #獲取暫存器堆疊頂部的值,並且把它放置在目標位置(被設定為記憶體位置intl) flds value2 #載入記憶體位置value2 中的單精度浮點值 fldl value3 #載入記憶體位置value3 中的單精度浮點值 fst %st(4) #fst指令用於把st0 暫存器的資料傳送到另一個fpu暫存器 fxch %st(1) #將st1暫存器與st0暫存器進行交換 fstps result #值從堆疊中(st0)刪除,並且其它值向上移動 movl $1,%eax movl $0,%ebx int $0x80