[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Learning Assebly for the 6502 //e, or //gs



fried tofu writes ...
> 
> Hello all:) I'm looking into learning assebly for the 6502 processor. I have
> an Apple //gs in perfect working order, now I just need to figure out where
> to begin. Could anyone possibly point me in the right direction as far as
> books, web-sites etc. go for someone who hasn't programmed in assembly
> language before ? Thank you all very much for your time:)
> 

     Mike is kind of under-selling Orca/M. It is an excellent assembly language
package. I guess he was focusing upon the "learning" and "6502" aspects of your
question. Orca/M's manual pretty much assumes that you know assembly language
and concentrates upon explaining how to use the Orca/M package.


     One problem with suggesting a route to learning assem is that it's hard to
fall back on experience and say "learn it like this". Many of today's A2 assem
programmers began with a higher level language (e.g. Fortran and/or BASIC) on
an old mainframe or mini and, then, got into microcomputing. There, we played
around with machine code instructions for a few years rather than using an
assembler. ("Machine code" is like entering "A9 4A" instead of "LDA #$4A".) 

     With a decent monitor program, like the one in the Apple II, machine
language coding is pretty easy, especially since you can get a disassembled
listing and check your work. For someone who knows machine coding, assem is a
snap.

     One thing is certain, to learn any language you need to have something you
want to do with it. In a university class, you have problems to solve-- e.g.
"Write a program to list temperatures in F and C over the F range 0 through
100."  Very boring; but, since you get a grade, interesting enough to get you
to write the program.

     Learning a language on your own requires that you find 'interesting
enough' tasks to spark an interest in doing programming in the language. If you
can do that, then any language is easy to learn.

     One place to find fun assem tasks is old games in BASIC. Lots of these can
be speeded up and improved with machine language routines you write in assem
and CALL from the BASIC program. For example, you can add sound effects to a
simple arcade.

     Another place to look is programs written in assem for which the source
code is available. (Source code is the text you type in when programming with
an assembler.)  You can experiment with adding options, changing displays,
improving speed, etc..


     Of course, you need information about assembly language, too. One good
6502 book is Roger Wagner's "Assembly Lines". It goes best with the Merlin
Assembler package.

     Since you are on a IIgs, you probably should go with learning 65816 assem
from the start. "Assembly Lines" will still be helpful; but, you will want one
of the good 65816 programming books, too. The two best are "65816/65802
Assembly Language Programming" (McGraw-Hill) by Michael Fischer and
"Programming the 65816 Including the 6502, 65C02, and 65802" (Prentice Hall) by
David Eyes and Ron Lichty.

     Having a 65C816 data sheet is handy as a quick reference. You can probably
get one from Western Design Center (602-962-4545; http://www.wdesignc.com )


     Finally, you need to pick and learn to use an assembler. Your best choice
is Orca/M. First, the complete package including manual is available from Byte
Works(505-898-8183; http://hypermall.com/byteworks/ ).  Second, once you become
skilled with Orca/M, you will find it much easier to use the other Orca
language packages.




Rubywand