HI,

I'm a little confused about bootloaders. I keep reading everwhere that i needed to use a flat model assembler to create a bootstraper binary, so i downloaded FASM and NASM, i don't like the FASM syntax much, however NASM is ok.

But then i saw another link on the web providing sample bootloader code that uses MASM/TASM (which i originally wanted to use so i could run it using the Emu8086 emulator program). Heres the link:-

http://www.beroset.com/loader.html

So now i'm totally confused about the actual requirements for the assembler language, so that i can make a bootloader. I need to decide what language i'm going to develop it with, because they all use different syntax and directives (which is confusing as well), i mean i know a little about general assembly registers and op codes. Can anyone maybe give some advice to me regarding this issue, and if i do need to use a assembler that produces so called flat binaries.

I would ideally prefer to use TASM or MASM. But if need be i don't mind using NASM.
Posted on 2005-06-26 22:29:07 by Jimbo
Yes, you can use MASM. Most linkers can produce nonformatted files, such as the old Microsoft linker that came with old versions of MASM.
Posted on 2005-06-27 05:14:26 by Sephiroth3
If you're going to play with bootloaders etc., check out http://fabrice.bellard.free.fr/qemu/ and http://bochs.sourceforge.net/ . fasm/nasm are a bit better suited for the task, especially if you're going to jump into protected mode, because they can assemble cross-bit far jumps pretty clean, without resorting to "db xx".
Posted on 2005-06-27 07:03:52 by f0dder

Yes, you can use MASM. Most linkers can produce nonformatted files, such as the old Microsoft linker that came with old versions of MASM.



A small note..

MASM can't be used on/for non-microsoft operating systems. (legal issue)

I don't know how this might apply to bootloaders.

Posted on 2005-06-27 07:57:48 by Azrim

MASM can't be used on/for non-microsoft operating systems. (legal issue)

If you own a license, you can - if you use a version obtained from the 98ddk (like the one in hutch--'s masm32 package), you can't.
Posted on 2005-06-27 08:00:18 by f0dder
Thank you all for your responses. I appreciate the help.
Posted on 2005-06-27 09:27:55 by Jimbo
The thread really went off topic and hence, I have splited the thread into two. The other section related to NASM was moved to The Crusades. Fight it out there  ;)
Posted on 2005-06-30 10:34:49 by roticv