Try MASM32. And developing OSes is against the MASM license, by the way.
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
MASM and MASM32 license wrote:You cannot use the MASM32 Project to write software for Non-Microsoft Operating Systems.
An operating system you wrote is not an M$ operating system. Therefore, it is against the license.
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
I'm not sure if lgdt allows explicit segments, but I'm pretty sure it doesn't allow you to say the GDTR is a qword, since it isn't. Look at the wiki for GDT, it shows that the GDTR is 6 bytes (or 10 bytes for x64). You don't need a operand size prefix.
david wrote:and my own os doesn't need to support MASM. I use it in windows.
/facepalm
That's not the point, the point is it's illegal to write an OS or stuff for another OS with MASM. Get NASM, it's got a similar syntax AND is portable.
Or FASM, which is written in assembly so it's even easier to port to an asm OS.
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.