Some Questions to discuss

1- How Intel 80286 processor addresses 16MB of memory as its register size is 16 bit?
2- Why Assembly language is named as Assembly?
3-Is DOS debug program acually changes register and memory values or it is just a virtual machine?
4-Why 8086 cannot support multitasking, which feature in processor is rquired to support multitasking?


  • : 2- Why Assembly language is named as Assembly?

    Well, assemble means -> putt together.

  • A 286 addresses 16MB of memory using a 24-bit address bus and 16-bit registers used for [italic]offsets[/italic] along with segment descriptors that add a base address to the offset to generate a final address. The base address is 24 bits long so if something like this was true: base=1048576 and offset=1, then it would access an item in the second MB, second byte.

    Assembly is also called Assembler (just look at the title of this messageboard). Before it there was only machine code and pseudocode, then Assembler was created, and its name came from the fact that the mnemonics and parameters had to be assembled into machine code equivalents.

    DOS DEBUG does execute your code, but keeps a copy of its register's values in memory so that it can use them, too. DEBUG wouldn't be able to function without registers!

    Just because the 8086 doesn't have an internal hardware machanism to support multitasking doesn't mean it can't multitask, it can use the PIT and software to save and restore the machine state for each task. Just the OS would have to completely trust every task not to crash the entire system because there weren't any protection mechanisms in the 8086.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


In this Discussion