Path: utzoo!attcan!uunet!zephyr.ens.tek.com!uw-beaver!milton!dali.cs.montana.edu!uakari.primate.wisc.edu!unmvax!pprg.unm.edu!topgun!mustang!nntp-server.caltech.edu!tybalt.caltech.edu!toddpw From: toddpw@tybalt.caltech.edu (Todd P. Whitesel) Newsgroups: comp.sys.apple2 Subject: Re: MacMusings Message-ID: <1990Oct26.215728.21351@nntp-server.caltech.edu> Date: 26 Oct 90 21:57:28 GMT References: <9010260141.AA06851@apple.com> Sender: news@nntp-server.caltech.edu Organization: California Institute of Technology, Pasadena Lines: 21 Nntp-Posting-Host: tybalt.caltech.edu MQUINN%UTCVM@PUCC.PRINCETON.EDU writes: >Everytime I write a ML program, I always wish I had a couple more registers >because without them, I have to write more code that copies the register into >a memory location, then later, more code to reload the register from that >same memory location, where as, if I had those few more registers I was >wishing for, I wouldn't have needed that extra load and store code and that >extra memory to hold the register value. This is the main complaint that most people have about 65xx programming. A humble suggestion: stop thinking of the registers as your local variables (auto's in C). The zero/direct page is your auto variable space. The accumulator and index registers are your scratch space and temporaries -- they are 'hidden' from a high level language because they are needed to synthesize high level language constructs. Memory based instructions on the 65xx exist for exactly this reason. Todd Whitesel toddpw @ tybalt.caltech.edu