Online Compiler Nasm

extern io_get_dec, io_print_dec, io_print_string section .bss x1 resd 1 y1 resd 1 x2 resd 1 y2 resd 1 x3 resd 1 y3 resd 1 section .data dot db ".", 0 section .text global main main: call io_get_dec mov [x1], eax call io_get_dec mov [y1], eax call io_get_dec mov [x2], eax call io_get_dec mov [y2], eax call io_get_dec mov [x3], eax call io_get_dec mov [y3], eax mov eax, [x2] sub eax, [y3] imul dwrod[x1] mov ecx, eax mov eax, [y3] sub eax, [y1] imul dword[x2] add ecx, eax mov eax, [y1] sub eax, [y2] imul dword[x3] add ecx, eax mov eax, ecx cdq mov ebx, 2 idiv ebx call io_print_dec mov eax, [dot] call io_print_string mov eax, edx mul 5 call io_print_dec xor eax, eax ret
1) Этот код вычисляет удвоенную площадь треугольника по координатам трёх вершин, используя формулу площади через векторное произведение, и выводит результат в виде десятичного числа с дробной частью (умножая остаток от деления на 5).

2) Обрати внимание на опечатку в инструкции `imul dwrod[x1]` — должно быть `dword`. Также учти, что для корректного вывода дробной части нужно работать с абсолютным значением остатка от деления.