Компиляция nasm Ubuntu В чем проблема?
Есть такой код
SECTION .data
file db "./Documents/LW1.txt",0
O_RDONLY equ 0
O_WRONLY equ 1
O_RDWR equ 2
O_CREAT equ 100o ;создание файла, если его нет
O_TRUNC equ 1000o ;очистка файла
O_APPEND equ 2000o ;добавление в конец файла
SECTION .bss
descriptor resb 4 ;переменная для хранения дескриптора файла
buffer resb 4096
SECTION .text
GLOBAL _start
_start:
mov eax,5
mov ebx,file
mov ecx, O_RDONLY
mov edx, 2
int 80h ;открытие файла
mov [descriptor],eax ;сохранения дескриптора файла
; функции для чтения/записи файла
mov eax, 3
mov ebx, [descriptor]
mov ecx, [buffer]
mov edx, 4096
int 80h ; Считали информацию из файла
mov eax, 4
mov ebx, 1
mov ecx, [buffer]
mov ebx, 4096
int 80h ; "Записали" на экран
mov eax,6
mov ebx,[descriptor]
int 80h ;закрытие файла
mov eax, 1
mov ebx, 0
int 80h
Он должен читать информацию из текстового файла и вывести ее на терминал Компилирую файл командами
nasm -f elf64 LW1
gcc -no-pie -nostdlib -o out.out LW1.o
Все компилируется и есть исполняемый файл, но когда запускаю его командой
./out.out
Терминал выдает пустую строку. Помогите правильно скомпилировать программу
Исправил все ошибки в коде выше, компиляция и запуск не выдают ошибок однако после запуска ничего не происхдит. В термминал не выводится текст (файл находится в той же папке что и исполняемый)