extern io_get_dec, io_print_dec, io_newline
section .bss
x dword 1
y dword 1
z dword 1 # место для окончательного 96битного произведения
section .text
global main
main:
call io_get_dec # в eax первое число a
mov ebx, eax # переложили a в ebx
call io_get_dec # eax второе число b
mul ebx # помножили a и b - результат 64 бита
mov esi, edx #старшие
mov edi, eax #младшие
call io_get_dec
mov ebx, eax #берем чиселку c
mov eax, esi #вытаскиваем старшие биты произведения
mul ebx #множим - получаем еще 64 бита (но типо старшие)
mov [x], edx #кладем старшие биты
mov [y], eax # и средние
mov eax, edi
mul ebx
add [y], edx
mov [z], eax
adc [z], 0
ret