以下は、私のNASMプログラムからの関連コードであることを願っています。int 080h が呼び出されると、デバッガーは eax に対して -9 を表示します。私のtest.txtのテキストは321314145です。私はこれを何時間も見つめていましたが、ここで行き止まりになりました。なぜこうなった?
%define BUFLEN 128
%define READLEN 3
%define SYSCALL_READ 3
SECTION .bss ; uninitialized data section
buf: resb READLEN ; buffer for read
rlen: resb 4
newstr: resb BUFLEN
; read file name from arg
;
pop ebx ;not using
pop ebx ;not using
pop ebx ;pop filename
; open file
;
mov eax, SYSCALL_OPEN
mov ecx, STDIN
int 080h
mov eax, SYSCALL_READ ; read function
mov ebx, eax ; Arg: file descriptor
mov ecx, buf ; Arg: address of buffer
mov edx, READLEN ; Arg: buffer length
int 080h