我正在嘗試撰寫以下代碼:
.data
float_val: .float 0e122.23
.text
.global _start
_start:
fldl float_val
mov $60,%rax
xor %rdi,%rdi
syscall
使用gdb后,in的值st(0)有些垃圾。為什么這樣?我不明白問題出在哪里。YASM 對應的作業正常。
uj5u.com熱心網友回復:
根據GAS 手冊,浮點指令的助記后綴與整數不同。整數指令使用l32 位雙字的后綴;但對于浮點指令,l則是針對 64 位雙精度。您可以使用s一個32位單精度浮點數。所以寫flds float_val,它應該作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/392654.html
