Obtenga el tamaño del archivo con stat syscall

Estoy tratando de obtener el tamaño del archivo con stat syscall con ensamblado (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]

Hay 0 enrax después de ejecutar syscall, es bueno pero despuésmov eax, dword [stat + STAT.st_size] hay 0 también

Respuestas a la pregunta(3)

Su respuesta a la pregunta