Holen Sie sich die Dateigröße mit stat syscall

Ich versuche, die Dateigröße mit stat syscall mit Assembly (nasm) zu ermitteln:

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]

Es gibt 0 inrax Nach der Ausführung von syscall ist es gut, aber nachmov eax, dword [stat + STAT.st_size] es gibt auch 0

Antworten auf die Frage(6)

Ihre Antwort auf die Frage