Компиляция 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

Терминал выдает пустую строку. Помогите правильно скомпилировать программу

Исправил все ошибки в коде выше, компиляция и запуск не выдают ошибок однако после запуска ничего не происхдит. В термминал не выводится текст (файл находится в той же папке что и исполняемый)


Ответы (0 шт):