On Mon, 25 Feb 2002 21:18:57 +00, Bastiaan Edelman, PA3FFZ wrote:

>>> but did some experiments. No way, the 8086 instruction set is not
>>> compatible to 8080/8085.

> reboot.com (in Arachne) is only 20 bytes
> B8 40 00 50 1F C7 06 72 00 34 12 B8 FF FF 50 B8 00 00 50 CB

> B8 = 1011 1000 *** 8085 mnemonics CMP,s / compare register with A
> B8 = 1011 1sss *** sss = source = 000 / source = register 000

> 8085 has 6 8-bit registers so 3 bits is enough point the source
> 8065 has 14 16-bit registers so 3 bits is not enough.
> The machine code is not the same

> 40 = 0100 0000 *** 01dd dsss MOV d,s d=destination s=source
> same problem

But if instead you were to just write the SOURCE code ....

That code you supplied dissambles to:

MOV     AX,0040
PUSH    AX
POP     DS
MOV     WORD PTR [0072],1234
MOV     AX,FFFF
PUSH    AX
MOV     AX,0000
PUSH    AX
RETF

Must have been written in "C". Really kinky. <G>
Let's take the first three instructions:
MOV     AX,0040
PUSH    AX
POP     DS

Why not replace this with:
XOR     AX,AX
MOV     DS,AX

And then:
MOV     WORD PTR [0472],1234
MOV     BX,FFFF
PUSH    BX
PUSH    AX
RETF
?

Makes more sense to me.<g>

Here are some excerpts from my "8086 BOOK" by Russell Rector:

The 8086 assembly language instruction set is upward compatible with 8080A
but at the source program level only.
*
The 8080A assembly language instruction set is a subset of the Z80 assembly
language instruction set. That is to say, the Z80 will execute an 8080A
object program - but the reverse is not true. Therefore the 8086 assembly
language instruction set is NOT upward compatible with Z80.

> Got that "intel.doc" downloaded... this will help but still no
> instruction set.
> How to activate "FTP" downloading in Arachne?

Point to the ftp link.
Hit enter. <G>

- Clarence Verge
- Back to using Arachne V1.62 ....

Reply via email to