Online Compiler Nasm

extern io_get_udec extern io_get_dec extern io_print_dec extern io_print_char section .bss a resd 10000 b resd 10000 c resd 10000 size_a resd 1 size_b resd 1 size_c resd 1 n resd 1 m resd 1 k resd 1 section .text global main main: ; Matrix sizes call io_get_udec mov [n], eax call io_get_udec mov [m], eax call io_get_udec mov [k], eax mul dword [n] mov [size_c], eax mov eax, dword [n] mul dword [m] mov [size_a], eax mov eax, dword [m] mul dword [k] mov [size_b], eax mov esi, dword [size_a] mov ebx, dword a a_for_beg: cmp esi, 0 jng a_for_end call io_get_dec mov [ebx], eax dec esi add ebx, dword 4 jmp a_for_beg a_for_end: mov esi, dword [size_b] mov ebx, dword b b_for_beg: cmp esi, 0 jng b_for_end call io_get_dec mov [ebx], eax dec esi add ebx, dword 4 jmp b_for_beg b_for_end: mov esi, dword [m] mov ebx, dword a apr_for_beg: cmp esi, 0 jng apr_for_end mov edi, dword [n] apr_inn_beg: cmp edi, 0 jng apr_inn_end mov eax, dword [ebx] call io_print_dec mov eax, dword ' ' call io_print_char add ebx, dword 4 dec edi jmp apr_inn_beg apr_inn_end: dec esi jmp apr_for_beg apr_for_end: почему у меня ошибка nasm: error: write error on output file `main.o'? xor eax, eax ret
1) Этот код считывает размеры двух матриц (n×m и m×k), затем считывает их элементы, вычисляет размеры массивов для хранения матриц и выводит первую матрицу построчно.

2) Ошибка записи в объектный файл обычно возникает из-за проблем с правами доступа к файловой системе или нехватки места на диске. Проверь, есть ли у тебя права на запись в текущую директорию и достаточно ли свободного места. Также убедись, что файл `main.o` не открыт в другой программе.