Получить размер файла с помощью stat syscall
Я пытаюсь получить размер файла с помощью syscall со сборкой (nasm):
section .data
encodeFile db "/home/user/file"
section .bss
stat resb 64
struc STAT
.st_dev: resd 1
.st_ino: resd 1
.st_mode: resw 1
.st_nlink: resw 1
.st_uid: resw 1
.st_gid: resw 1
.st_rdev: resd 1
.st_size: resd 1
.st_atime: resd 1
.st_mtime: resd 1
.st_ctime: resd 1
.st_blksize: resd 1
.st_blocks: resd 1
endstruc
_start:
mov rax, 4
mov rdi, encodeFile
mov rsi, stat
syscall
mov eax, dword [stat + STAT.st_size]
Есть 0 вrax
после выполнения системного вызова это хорошо, но послеmov eax, dword [stat + STAT.st_size]
там тоже 0