Going forward to go backwards—65 program navigation
|
11-01-2021, 01:35 AM
Post: #7
|
|||
|
|||
RE: Going forward to go backwards—65 program navigation
(11-01-2021 01:00 AM)Matt Agajanian Wrote: Okay. Yes. I got that. You have to GTO someplace in memory (or RTN to the beginning) and SST to where you want to be. I almost always write 65 programs on paper or in a spreadsheet before entering them into the calculator because of this. The important thing to understand about the 65 is that it doesn't use RAM for program storage. Oh sure, it has memory, but it's definitely not random access. Rather, the program steps are stored in a large shift register - I think a little over 600 bits. Think of it like the baggage carousel at the airport. As the data continually circulates in the shift register, the calculator can only read or manipulate a little bit at a time as it passes by briefly before making another trip around the shift register. A y^x instruction looks the same as any other y^x instruction as they go around and around, and the calculator has no idea if its looking at one at the beginning of a program or near the end.. Thus it's not a matter of step numbers not being displayed, there simply are no step numbers in the 65's architecture. How does the calculator keep its place in a program then? By moving a couple of dummy steps called program pointers. There's one pointer for the main routine, and a secondary pointer for tracking a single level of subroutine call. With certain clever manipulation, you can actually see the program pointer sitting in memory as you SST through the program in write mode. There's also a special "instruction" that signifies the beginning of the program. This is that "00 00" instruction that you see indicating "top of memory". That's an actual step that gets put into the shift register at power on so the 65 can have something to designate as the starting step (i.e. where RTN goes). So in light of this design, you can see why it's not a trivial matter to back up a step, or jump to a specific step number (remember, the calculator has no concept of step numbers). The shift register only circulates one way! There would certainly be a lot more involved than just decrementing a program pointer and moving backward one step in RAM, and evidently nobody thought it was worth taking up that much ROM space to do it. Despite its minor faults though the 65 is a damn good machine for being anybody's first attempt at a pocket programmable calculator. This particular quirk of its design didn't prevent it from being extremely powerful and useful, and having tons of excellent programs written for it. |
|||
« Next Oldest | Next Newest »
|
Messages In This Thread |
Going forward to go backwards—65 program navigation - Matt Agajanian - 10-31-2021, 06:12 PM
RE: Going forward to go backwards—65 program navigation - Gene - 10-31-2021, 06:57 PM
RE: Going forward to go backwards—65 program navigation - teenix - 10-31-2021, 11:24 PM
RE: Going forward to go backwards—65 program navigation - Steve Simpkin - 10-31-2021, 11:32 PM
RE: Going forward to go backwards—65 program navigation - Matt Agajanian - 11-01-2021, 01:00 AM
RE: Going forward to go backwards—65 program navigation - Dave Britten - 11-01-2021 01:35 AM
RE: Going forward to go backwards—65 program navigation - teenix - 11-01-2021, 01:31 AM
|
User(s) browsing this thread: 1 Guest(s)