0
나는 customer.txt
이라는 파일을 가지고 있습니다.어셈블리 언어에서 파일의 문자열 입력을받는 방법?
amin jamal
customer.txt 제가 customer.txt
파일에서 문자열 입력 (amin
)을 취하고 C에게 printf()
기능을 이용하여 인쇄 샘플 코드가 필요하다.
내 코드
section .bss
s: resb 100
section .data
fmt: db "%s",10,0
name: db "customer.txt",0
mode: db "r+",0
fp: dq 0
section .text
global main
extern fopen
extern fgets
extern printf
main:
push rbp
mov rdi , name;
mov rsi , mode
call fopen
mov [fp] , rax
mov rdi , s
mov rsi , 7
mov rdx , [fp]
call fgets
mov rdi , fmt
mov rsi , s
call printf
pop rbp
ret
이 전체 문자열을 할 수있다.
NASM 어셈블러를 사용하고 있습니다. 내 운영 체제는 64 비트 Linux입니다.
나는 어셈블, 컴파일 및 실행을 위해 nasm 명령을 사용합니다.
nasm -f elf64 file.asm
gcc file.o
./a.out
결과 -
amin j
_ "전체 문자열을 사용할 수 없습니다"_ 정확히 무엇입니까? 몇 가지 입력 및 출력 예제는 무엇입니까? – Michael
7 개 (cfr'mov rsi, 7') 문자를 사용한다는 의미입니까? –
@Michael 제 질문을 수정합니다. – alhelal