Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site reed.UUCP Path: utzoo!watmath!clyde!burl!ulysses!gamma!epsilon!zeta!sabre!petrus!bellcore!decvax!decwrl!pyramid!hplabs!tektronix!reed!kamath From: kamath@reed.UUCP (Sean Kamath) Newsgroups: net.micro.apple Subject: Re: wanted: 6502 assembly book recommendations Message-ID: <2390@reed.UUCP> Date: Tue, 28-Jan-86 18:21:18 EST Article-I.D.: reed.2390 Posted: Tue Jan 28 18:21:18 1986 Date-Received: Sat, 1-Feb-86 02:16:11 EST References: <1066@utcs.uucp> Reply-To: kamath@reed.UUCP (Sean Kamath) Distribution: net Organization: Reed College, Portland, Oregon Lines: 74 In article <1066@utcs.uucp> pkern@utcs.uucp (pkern) writes: >Can someone recommend a 6502 Assembly book? >I would like to get a good reference book before >fiddling with assembly code. > >thanks, >P. Kern > ..!{ihnp4,cbosgd}!utcs!pkern There are an awful lot of "assembly books" on the market. Be careful, take the time to read anything anyone recommends in the store a little bit before you buy. So many are real trash. There are a few good guidlines to follow... 1) keep away from books that are so large they look more like bricks than books...they usually turn out to be bookend and shelf block more often than not. 2) it is usually a good idea to have a firm understanding of the 6502 opcode set first. It isn't that ultra-important that you know every opcode and every mode of addressing, but it sure helps. It can be a real pain to find out that that wonderful opcode you've been using all this time isn't an opcode but a psuedo-opcode. A good way to learn about the 6502 (or 65C02) opcode set is in a 6502 reference card, the Technical Reference Manual for your computer, or even in an "Assembly Book". Also, if you have a new //c or upgraded //e, a integer card, or an old //e, //c, ][, or ][+ (the later two with language cards), you can use the mini assembler. From a //c or //e (new) you can enter it by typing an "!" in the monitor. From everything else, get into integer basic (By loading it from the DOS Master Diskette or having it in ROM) and go into the monitor. then type F666G, and there you are. you can find out pretty easily how to use it in the integer card manual or the like. It's very limited and useless for anything but quick fixes and learning opcodes and there mnumonics. 3) try to get an assembly book that has useful and interesting examples. There is nothing more boring than typing in 50 lines of code that make the speaker go "BING" to illustrate how to use indirect indexed addressing, when you know how to buzz the speaker with 3 lines, and you really want to know how to do custome memory moves. Beware, however, that learning assembly language in the beginning is rarely more exciting than putting you name on the screen after struggling for 10 hours. 4) if possible, try to get a book that uses an assembler you've heard of a know about, have or plan to use. It's a minor problem to translate assemblers, but some just don't have very many features. I personally like Glen Brendon's Merlin Pro Assembler, which now has a full screen editor (Available from Roger Wagner Publishing). Don Lancaster has noted that he likes the ProDOS Assembler from Apple in conjuction with Applewriter (For more info about this and also Assembly Language [not 6502 opcode programming, though] see his Assembly Cookbook [SAMS]). I have heard the Roger Wagner's "Assembly Lines" (or something like that) is an excellent book on programming the 6502. I've been looking for a good book for a friend of mine for quite some time. I still haven't found anything that isn't either very condecending, overly technical, or otherwise more trouble than it's worth. I might just end up teaching her myself. In recent issues of A+, Nibble, and InCider, there have been articles on assembly language prgramming. You might want to check them out. Good luck! Sean Kamath -- ________________________________________________________________________________ UUCP {ihnp4,decvax,ucbcad}!tektronix!reed!kamath And I looked again And the monster was me...