Я работаю над проектом, и мне нужно вывести значения с плавающей запятой, используя printf
из C.
Я могу распечатать значения прямо сейчас, но я не совсем уверенкак происходит печать.
Для печати значений int я просто нажимаю тип данных и местоположение, и он печатается нормально.
Но для float это совсем другая история.
Вот код для печати чисел с плавающей запятой
mov qword rdi, float_format
push qword 0
push r14
movsd xmm0, [rsp]
mov qword rax, 1
call printf
pop rax
pop rax
, который будет эффективно выводить значение, введенное с клавиатуры. Однако, когда я манипулирую числом с помощью команд с плавающей запятой, например fadd
или fdiv
для того, чтобы распечатать, перед вызовом функции печати с плавающей точкой мне нужно mov 1, rax
Идеи? Чтобы упростить? Или объяснение, почему я использую xmm0?