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
My FirstOS
-
- Posts: 1
- Joined: Wed Jan 02, 2013 2:09 am
Re: My FirstOS
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".
This might help...change the line to read "jmp short" instead of just "jmp".
Re: My FirstOS
...except, the OP wanted to set the CS register. A short jmp won't do that.
- Kazinsal
- Member
- Posts: 559
- Joined: Wed Jul 13, 2011 7:38 pm
- Libera.chat IRC: Kazinsal
- Location: Vancouver
- Contact:
Re: My FirstOS
The OP posted this in 2011.
Re: My FirstOS
Definitely use NASM.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.
I will stop using MASM32, I think. Any recommended assemblers?
Currently developing Lithium OS (LiOS).
Recursive paging saves lives.
"I want to change the world, but they won't give me the source code."
Recursive paging saves lives.
"I want to change the world, but they won't give me the source code."
Re: My FirstOS
you probably want to do something like this:iansjack wrote:...except, the OP wanted to set the CS register. A short jmp won't do that.
Code: Select all
jmp (code selector):Label
e.g.
jmp 0x08:SetCS
Currently developing Lithium OS (LiOS).
Recursive paging saves lives.
"I want to change the world, but they won't give me the source code."
Recursive paging saves lives.
"I want to change the world, but they won't give me the source code."
Re: My FirstOS
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.
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: My FirstOS
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.