section .data
vx dd 0
vm dd 0
vk dd 0
vd dd 0
vxh dd 0
vym dd 0
section .text
extern io_get_dec, io_print_dec, io_newline
global main
main:
mov ebp, esp
call io_get_dec
mov [vx], eax
call io_get_dec
mov [vm], eax
call io_get_dec
mov [vk], eax
call io_get_dec
mov [vd], eax
call io_get_dec
mov [vxh], eax
call io_get_dec
mov [vym], eax
mov eax, [vx]
imul eax, dword [vm]
imul eax, dword [vk]
mov ecx, [vd]
lea eax, [eax + ecx - 1]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [vxh]
sub eax, 6
sar eax, 31
add eax, 1
mov edi, eax
mov eax, ebx
add eax, 2
xor edx, edx
mov ecx, 3
div ecx
imul eax, edi
sub ebx, eax
mov eax, ebx
call io_print_dec
call io_newline
xor eax, eax
ret