section .text
global main
extern io_get_dec
extern io_print_double
extern io_newline
main:
call io_get_dec
mov ebx, eax
call io_get_dec
mov esi, eax
call io_get_dec
mov edi, eax
call io_get_dec
push eax
call io_get_dec
mov ecx, eax
call io_get_dec
mov edx, eax
mov eax, [esp]
sub eax, edx
imul eax, ebx
mov ebp, eax
mov eax, edx
sub eax, esi
imul eax, edi
add ebp, eax
mov eax, esi
sub eax, [esp]
imul eax, ecx
add ebp, eax
mov eax, ebp
cdq
xor eax, edx
sub eax, edx
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, [two]
divsd xmm0, xmm1
movsd xmm1, xmm0
call io_print_double
call io_newline
add esp, 4
xor eax, eax
ret
section .rodata
align 8
two:
dq 2.0