I'm the resident high-rank real mode assembly geek here, I'll quiz youHow will I know, that I know assembly like the back of my hand?
Seriously, you'll feel confident enough to take on a small project when you're ready.
I'm the resident high-rank real mode assembly geek here, I'll quiz youHow will I know, that I know assembly like the back of my hand?
Operating! Operating system!casualasm wrote:I have always wanted to construct my own operative system for personal reasons.
Just to get things straight; Intel 64 is the architectural name for when you buy a 64-bit CPU in the electronic store, right? And IA-32 is the common 32-bit CPU... Or am I wrong?Love4Boobies wrote:My suggestion is that you learn a higher-level language. Why? Assembly is great but a project written in it is hard to maintain. It's much more understandable by anyone to spot bugs (or anything else) in C/C++ or whatever other high-level language you might prefer. Besides, coding will be faster. As for the assembly part, I suggest reading the Intel manuals - the official documentation that describes exactly how Intel 64 and IA-32 CPUs work, what you can do with them and their instruction set (i.e. assembly opcodes).casualasm wrote:I have always wanted to construct my own operative system for personal reasons.
Not wanting to be rude or anything but please stop spamming around with your half-baked copy & paste kernel, alright? Just a bunch of stuff you got from the Internet that you didn't even put together right. It has nothing to do with what we are discussing and you are confusing the OP.GeniusCobyWalker wrote:If you want an example heres one:
http://forum.osdev.org/viewtopic.php?f=1&t=18955
Make sure you don't confuse "Intel 64" and "IA-64". IA-64 is "Itanic" (Itanium), and is a different beastie all together!casualasm wrote:Just to get things straight; Intel 64 is the architectural name for when you buy a 64-bit CPU in the electronic store, right? And IA-32 is the common 32-bit CPU... Or am I wrong?Love4Boobies wrote:My suggestion is that you learn a higher-level language. Why? Assembly is great but a project written in it is hard to maintain. It's much more understandable by anyone to spot bugs (or anything else) in C/C++ or whatever other high-level language you might prefer. Besides, coding will be faster. As for the assembly part, I suggest reading the Intel manuals - the official documentation that describes exactly how Intel 64 and IA-32 CPUs work, what you can do with them and their instruction set (i.e. assembly opcodes).casualasm wrote:I have always wanted to construct my own operative system for personal reasons.
So if I plan on making my OS in only IA-32, I won't have to learn Intel 64, right?
Yes, you got it right LordMage, it's open-source and full ASM.LordMage wrote:If you want to do ASM only I would study DexOS, I think it is open-source and ASM, there is also MenuetOS, it's cool and fits on a floppy. you could look at thier code to see how certain things are done.
Wierd Al wrote: You think your Commodore 64 is really neato,
What kind of chip you got in there, a Dorito?
Here's some pointers, first thecasualasm wrote:Ok, so i've looked at the DexOS sourcecode. Mainly the kernel.
Only thing is, I get confused on what exactly to read inside OS. Like, should I start studying the coding for the kernel?
And another question: The kernel is executed at the beginning of the code, right? So,
format MZ
use16
Are the first instructions to be executed upon kernel execution, right?
But what exactly is the very first thing that is executed when I start from stratch. I mean, is that the bootloader code?
Creating my own OS is starting to scare me alittle, because I don't have any particular knowledge about hardware. Like where the BIOS starts or what architecture to go for. And when I do find an architecture, I need to read through the entire manual to know what interrupts it has and how data is processed in it.