Online Compiler Nasm

extern io_get_dec extern io_print_dec section .bss n resd 1 m resd 1 k resd 1 d resd 1 x resd 1 y resd 1 cnt resd 1 ans1 resd 1 ans2 resd 1 section .text global main main: call io_get_dec mov [n], eax call io_get_dec mov [m], eax call io_get_dec mov [k], eax call io_get_dec mov [d], eax call io_get_dec mov [x], eax call io_get_dec mov [y], eax imul n, m imul n, k sub x, 6 sar x, 31 div eax, n, d mov [cnt], eax ;[cnt] - кол-во ящиков imul edx, d, [cnt] div ebx, [cnt], 3 sub ans1, ebx imul asn1, d sub ans2, n, edx add [cnt], 1 mov eax, cnt mov ebx, 3 div ebx mov cnt, ebx sub cnt, 1 sar cnt, 31 neg cnt imul ans2, cnt mov eax, ans1 add eax, ans2 call io_print_dec xor eax, eax ret
1) Код считывает шесть чисел, вычисляет общее количество товаров, затем выполняет несколько арифметических операций и делений для расчёта итогового значения, которое выводится.

2) Обрати внимание на синтаксис инструкции `div` — в NASM она принимает только один операнд (делитель), а делимое подразумевается в регистрах `edx:eax`. Также проверь правильность использования имён переменных, например, `asn1` вместо `ans1`.