Page 3 of 3

Re: My FirstOS

Posted: Tue Nov 01, 2011 9:13 am
by JAAman
exactly... the license you are quoting is from MASM32, which is NOT A MICROSOFT PRODUCT, MASM (which is a Microsoft product) DOES NOT HAVE ANY RESTRICTIONS ON ITS USE FOR OSDEV


the MASM32 project, is a set of tools intended to simplify using MASM to develop windows applications, and that license only applies to the MASM32 project tools, NOT masm (which is distributed under other licenses, depending on where you obtained it)

masm does have restrictions about using it to create programs that are essentially nothing more than what MS has already provided with it (where you have contributed little or nothing to the pre-existing MS code) or for using the free version for commercial development, however neither of these apply to OSdev in the least (even if you wanted to take your OS commercial, all you would need to do is purchase the pay version -- its not that expensive)

you should at least read the very statement you are quoting since your quote itself states clearly that this only applies to the MASM32 project, and not to the MASM assembler

Re: My FirstOS

Posted: Thu Jan 03, 2013 1:16 am
by MichaelTripi68
Not sure if you ever resolved your original issue with the additional NOP byte codes because of the huge debate over the MASM/MASM32 issue...LOL

This might help...change the line to read "jmp short" instead of just "jmp".

Re: My FirstOS

Posted: Sat Jan 05, 2013 4:53 pm
by iansjack
...except, the OP wanted to set the CS register. A short jmp won't do that.

Re: My FirstOS

Posted: Sat Jan 05, 2013 10:26 pm
by Kazinsal
The OP posted this in 2011.

Re: My FirstOS

Posted: Sun Jan 06, 2013 9:00 pm
by BMW
kendfrey wrote:I am using MASM32.
I think I see your interpretation of the license. You are saying my bootloader is software for FirstOS, because it was designed "for" FirstOS.
I read "software for a non-Microsoft OS" as meaning "an application (or other code) that would run on an operating system that was not made by Microsoft". My OS does not fall under that category, since it does not run on an OS, it is the OS.
Oh, well, maybe yet another reason to use something else. :D
I will stop using MASM32, I think. Any recommended assemblers?
Definitely use NASM.

Re: My FirstOS

Posted: Sun Jan 06, 2013 9:01 pm
by BMW
iansjack wrote:...except, the OP wanted to set the CS register. A short jmp won't do that.
you probably want to do something like this:

Code: Select all

jmp (code selector):Label
e.g.
jmp 0x08:SetCS

Re: My FirstOS

Posted: Tue Jan 08, 2013 12:11 am
by Gigasoft
I prefer JWASM, as it is compatible with MASM and also supports 64 bit code. The reason I stopped using NASM long ago was that I found myself always typing "byte", "dword" and "short" everywhere and thinking about whether jump displacements would fit in a signed byte instead of doing actual programming.

Re: My FirstOS

Posted: Tue Jan 08, 2013 2:49 am
by Combuster
YASM has always been optimising jumps to their shortest form, and it's compatible with NASM syntax. I think NASM does that nowadays as well at the cost of a command line argument, but I already have a strong preference to the former for a few more reasons.