Free Republic
Browse · Search
General/Chat
Topics · Post Article

To: Utilizer

An X86 motherboard already has a very low-level OS written in assembler...it’s called the BIOS.

It is not that difficult to build up a usable OS utilizing the BIOS assembly routines already available. A great deal of the grunt work has already been done for you and you don’t have to start from scratch.

People who don’t know how to code think of assembler as some extremely difficult thing to do...it’s not. Assembler is actually the simplest way to code although it is very tedious and exacting.

When you code in assembler you are making very small moves with each line of code and you know exactly what each line will do.

When you code in a high-level language like C or Java the only way to know exactly what each line of code does is to look at the assembly output of the compiler. Writing code in a high-level language is like making a list of all the things you need to do during the day...

Go to the store and buy milk
Get the car washed
Take the baby to the doctor

Coding in assembler breaks it down to much more basic steps. The list of steps below are just to begin doing the “Go to the store and buy milk” line from the list above.

Get out of bed
Put on your clothes
Use the toilet
Get the car keys
Walk to car
Get in the car


20 posted on 05/15/2015 10:12:50 PM PDT by Bobalu (If we live to see 2017 we will be kissing the ground)
[ Post Reply | Private Reply | To 1 | View Replies ]


To: Bobalu
In assembly, "put on your clothes" is a 60-100 line subroutine. The actual instructions are more like "open drawer ... pick two socks ... repeat until they match ... sit on bed ... lift left foot ..."

(Unless you're talking VAX assembly, that is.)

31 posted on 05/16/2015 5:56:22 AM PDT by Campion
[ Post Reply | Private Reply | To 20 | View Replies ]

To: Bobalu

I should note that the motherboard BIOS has only very basic routines on it, just enough to allow the system to access the basic subsystems necessary for operation. memory access routes, boot-up calls and routines, CPU addressing and interrupt methods, bus subsystems calls with flags and IRQ routines, and of course internal drive addressing methods.

Then in the newer boards you have added routines for networking, USB, and graphics access.

That is why Operating Systems exist, to perform higher-level operations that the BIOS alone can not do. Think of the motherboard as a car or truck. The board itself is the physical body of the car, the BIOS is its linkages and control cables, and the CPU is the engine itself.

The Operator controlling the accelerator, brakes and steering is the OS. Trying to control the vehicle with self-correcting mechanisms, throttle controls, automatic braking and steering... well, lets just say that you would not wish to be around such a device on the public streets.

Have to disagree with you about the simplicity of building a useable OS using only BIOS routines.

I prefer to code in Assembly Language. It is difficult, demanding, quite time-consuming, and requires a level of precision that most people simply find too difficult to program well with.

The benefits of using it is that coding using it results in programs that are very, very small -and incredibly fast.

If it was so easy to produce any highly-useable OS written in assembler we would see as many versions of that as there are linux distros.

Don’t see that having occurred yet.


32 posted on 05/16/2015 8:24:40 AM PDT by Utilizer (Bacon A'kbar! - In world today are only peaceful people, and the muzlims trying to kill them)
[ Post Reply | Private Reply | To 20 | View Replies ]

Free Republic
Browse · Search
General/Chat
Topics · Post Article


FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson