1.

Solve : Can i8086 run 8-bit software??

Answer»

Hi!

I want to ask simple Q:
i8086 is 16-bit CPU, allows it run 8-bit software?

Please don't ask me reason.
I need to know it only.

MiroThat is going to depend strongly on what "8-bit software" is.

is "8-bit software" applications that use 8-bit data types using 8-bit operations? Then yes. You can limit an x86 compatible program to only perform 8-bit operations.

But x86 itself is a 16-bit architecture; there is no inherent backwards compatibility in the architecture for say the 8080 CPU.

Mind you, Some clone CPUs like the NEC V20 and V30 which were pin compatible replacements for the 8088 and 8086 had an 8080 compatible mode and could run 8-bit software designed for the 8080.Is this homework?
Intel and others made a number of 8 bit CPU devices back in the mid 1970 era.
These chips har a 8 bit data path with up to 16 BITS could be used to do addressing.
The early 8 bit CPU list would include:
8080
6502
6800
Each of the above had different instructions.

Later Intel made the 806. It has a 16 bit data path and has 20 bit address.
Later Inrel made the 8088, which is an 8986 wutg ABN 8 but data oath. It works on the same 16 bit INSTRUCTION set.
This save costof abd allowed IBM to byild alow-cost PC.

Dies taht asawer your quesxtion?
I'm thinking x86 architecture.
So,
no 8080, 6502.

I know not if is 8088 x86 compatible...

MiroOk, I found some thing on Wikipedia.

For to be sure:

Can x86 architecture run 8088 code?
Of course I mean not any OS or so - I mean assembly code.

MiroAs stated by BC, NEC V20 and V30 can run 8080 code.
A few Personal Computers were made with the NEC chips. These could run a version of IBM dos and could run code written in 8080 assembly language.
https://en.wikipedia.org/wiki/NEC_V20
Quote

Because it was pin-compatible with the 8088 and relatively inexpensive, the V20 was also a POPULAR end-user upgrade for systems with a socketed processor, including the original IBM PC and XT.

I worked in Santa Clara years ago and wrote 8080 code for internal use on hard drive test machines. The 8086 was not available at first and 8080 computers made by National were low priced for industrial use.

On eBay one can still buy a very old NEC PC that can run an older version of DOS.
I have attached a picture.

I do not know how one could make the chip yo start 8080 mode.
My understanding of the mode switch is that it was implemented as an added instruction that the V20 and V30 supported, the BRKEM instruction, which could be used to switch between the two modes.

Presumably under DOS using 8-bit instructions them would be a case of executing the mode switch, running the 8-bit code, then switching back to 16-bit before returning control to the OS. (I wouldn't expect not switching back to work very well!).

So booting an 8-bit OS on them I think would require the OS to be aware of that CPU and execute the instruction first? Or maybe a special 16-bit boot loader for the 8-bit OS that switches the mode?

Note: found that information on the chip here

Here really I understand not.

I know that instruction set of 8080 and its enhanced version Z80 is very similar to x86 architecture, but not the same - or not?

Really is possible implement code for 8080 on 8086?
Or even - will 8088 code run on 8086?

Your explanation is bit confusing.

For explanation of my purpose:
I know 8080/Z80 and 6502/65C816 assembly language.
Purpose:
I want to create 8-bit DOS for machines running x86 architecture, as option x80 and even machine specific x65 and/or 65k architecture.
Simply - x86 is similar to x80 - but AFAIK not the same, x65 and 65k are near same... so it is maybe about 2 options, but machine specific...

Please explain me if I think anything wrong, but with easy English, my English is poor.

Thank you.
Miro


Discussion

No Comment Found