[comp.sys.apple] 65816 modes v. 80286 addressing modes

rat@madnix.UUCP (David Douthitt) (08/30/89)

From what I've seen so far, even just from the assemblers, the 80286
looks like a nightmare compared to the 65816 series.

In the 80286, a label must be defined as FAR or NEAR, and "PROC"s must
be defined as NEAR or FAR.  What's more, a label defined as WORD must
be overridden with a BYTE specification in the addressing mode if you
want to access the lower or higher byte of the original data.  What
a nightmare!

In contrast, the 65802 is much easier to understand.  While a specific
line in an assembly language file does not reveal its addressing length,
it is much easier overall to read an assembly language file since the
mnemonics and addressing is the same, but the opcode operates differently.
This makes it much easier to adjust from the old 8-bit world to the new
16-bit world.

Another easy comparison is BCD addition and subtraction.  In the 65x
you only need to go into decimal mode once.  In the 80x86 you must
remember to use the DAA (or other appropriate instruction) after each
and EVERY addition/subtraction.

What I hate most about the 80x86 assemblers I saw is that the assembler
instruction set bears little resemblance to the true machine code.

	[david]

-- 
!======= David Douthitt :::: Madison, WI =======!== The Stainless Steel Rat ==!
!  ArpaNet: madnix!rat@cs.wisc.edu              !                             !
!  UseNet: ...uwvax!astroatc!nicmad!madnix!rat  !  Mad Apple Forth:           !
!               {decvax!att}!                   !  The Madness starts here.   !