Obter tamanho do arquivo com stat syscall

Estou tentando obter o tamanho do arquivo wit stat syscall com assembly (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]

Há 0 emrax após a execução do syscall, é bom, mas depoismov eax, dword [stat + STAT.st_size] também há 0

questionAnswers(3)

yourAnswerToTheQuestion