일부 어셈블리 파일을 연결하려고하는데 몇 가지 문제가 있습니다. 내가 NASM을 사용하고 내가 내 오브젝트 파일을 만들 : 윈도우 XP에서 책DOSBox의 NASM 컴파일
%include "io.mac"
.DATA
name_prompt db "Please type your name: ",0
out_msg db "Your name in capitals is: ",0
.UDATA
in_name resb 31
.CODE
.STARTUP
PutStr name_prompt ; request character string
GetStr in_name,31 ; read input character string
PutStr out_msg
mov EBX,in_name ; EBX = pointer to in_name
process_char:
mov AL,[EBX] ; move the char. to AL
cmp AL,0 ; if it is the NULL character
je done ; conversion done
cmp AL,’a’ ; if (char < ’a’)
jl not_lower_case ; not a lowercase letter
cmp AL,’z’ ; if (char > ’z’)
jg not_lower_case ; not a lowercase letter
lower_case:
add AL,’A’-’a’ ; convert to uppercase
not_lower_case:
PutCh AL ; write the character
inc EBX ; EBX points to the next char.
jmp process_char ; go back to process next char.
done:
nwln
.EXIT
나를 위해이 코드 직장에서
nasm program.asm -f bin -o program.exe
코드하지만 윈도우 7에서 작동하지, 여기에 오류 로그 error입니다. 오류를 찾도록 도와주세요.
그 인용 부호는 의심스러운 것으로 보입니다. 그들은 아마'''가 아니라'''이어야합니다. 그리고 어셈블러에서 매크로 파일을 찾았는지 확인하십시오. – Michael
io.mac은 nasm 및 program.asm 파일에 있습니다.하지만 check assembler가이 파일을 찾는 방법을 모르겠습니다. – Damian