I am trying to compile a nasm file but it is returning the following error: "nasm: error: more than one input file specified". What is wrong? boot.asm:
BITS 16 ; The mode we are running in (default for every modern computer)
ORG 0x7c00 ; the origin, the boot loader is always loaded at 7C00 by the BIOS
jmp Main ; Jump the a label called "Main"
;IN: si=string, OUT:-
Print:
lodsb ; Load string byte (Load a character that's in si into al)
cmp al, 0 ; If that character is equal to "0" jump to done
je Done
mov ah, 0eh ; Set parameters for interrupt 10
int 10h ; Call the interrupt
jmp Print ; Loop back in Print to print the next character
Done:
ret ; return back to the place we where called
Main:
mov si, msg ; Move the data of msg into si
call Print ; Call the Print label
cli
hlt ; Halt the system
msg db 'Hello World!',0 ; Define the variable msg to a string
times 510 - ($-$$) db 0 ; make sure the file is 512 bytes
dw 0xAA55 ; Last 2 bytes need to be AA55
I'm using the following command to compile:
nasm -f boot.asm -a boot.bin