Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!mcnc!ecsvax!ranger
From: ranger@ecsvax.UUCP (Rick N. Fincher)
Newsgroups: comp.sys.apple
Subject: Re: 65C816 programming weirdness; is it true?
Message-ID: <2515@ecsvax.UUCP>
Date: Mon, 5-Jan-87 11:00:57 EST
Article-I.D.: ecsvax.2515
Posted: Mon Jan  5 11:00:57 1987
Date-Received: Mon, 5-Jan-87 21:48:35 EST
References: <2504@ecsvax.UUCP> <1162@cbmvax.cbmvax.cbm.UUCP>
Organization: UNC Educational Computing Service
Lines: 33
Summary: I agree...

In article <1162@cbmvax.cbmvax.cbm.UUCP>, daveh@cbmvax.cbm.UUCP (Dave Haynie) writes:
> > Keywords: IIGS, 65C816, assembly language, 8/16 bit modes
> > Summary: I think 65816 is easier...
Dave,

  I agree with your comments, I misunderstood the gist of the 1st
question.  I think that folks who have programmed primarily on the
68000 and 80xx series will have some problems dealing with differences
in the way the '816 does things.  I have seen some assemblers that use
the convention of changing from 8 to 16 bit registers with a macro call
that the assembler implicitly changes the mode if necessary, basically they define
their own byte and word mnemonics.  This is not the way the ORCA
assembler works, however, and it is the Western Design Center standard
as well as Apple's.  To me keeping track of what register width I'm
using is a lot simpler than keeping track of, say, segments in the 8086
architecture, although the '816 is segmented, I find it much more
straightforward.  My mindset is that of someone who programs in assembler
mostly on 65xx processors and only does 80xx when he has too.  The
68000 is a Cadillac, but I think that beginning assembly language pro-
grammers have trouble remembering all the mnemonics for byte word and
long.  It is undoubtedly a better way to go once you have committed
all of the mnemonics to memory, however, since it avoids the ambiguity
of the register width that you have with the '816.  To me learning to
program the '816 was a natural progression from the 6502, everything
made sense, the only thing I considered 'weird' was the stack relative
stuff because it was new on the 816, although this has been on other
processors before.  I see you point about 'weirdness' however, the
register width mode switching is weird in that it is done in a completely 
different way from most processors.  Thanks for the comments.

Rick Fincher
ranger@ecsvax
>