Но результат выводится
global main
extern printf
extern scanf
section .data
formatIn db "%f %f %f",0
formatOut db "numbers is %f",10,0
section .bss
x resq 1
b resq 1
a resq 1
r_s resq 1
section .text
main:
push x
push b
push a
push formatIn
call scanf
add esp,28
fld dword[a]
fld dword[a]
fld dword[b]
fsub
fdiv
fld dword[a]
fld dword[b]
fadd
fld dword[b]
fld dword[x]
fadd
fdiv
fsin
fmul
fld dword[b]
fld dword[a]
fld dword[b]
fsub
fld dword[b]
fld dword[x]
fadd
fmul
fdiv
fsub
fstp dword[r_s]
fld dword [r_s]
sub esp,8
fstp qword [esp]
push formatOut
call printf
add esp,12
ret
Почему add esp,28, когда в стек засунуно 16 байт (4*4)?
Обсуждают сегодня