Calculator Community > ASM

ASM help

<< < (2/2)

DJ Omnimaga:
Yeah Nostub is worse for that. Does Mirage and APPs solve this issue, tho?

calc84maniac:
Yeah, Mirage/ION solve this by moving the program, rather then copying, to the executable location. You still can't have more than 8.x KB of executable code because of a hardware-imposed limit. APPs, on the other hand, can have as much executable code as they want because they are executing directly from Archive.

Iambian:
For ASM programs, the problem is the *executable* code that you're limited to. From the first post, I assume you're trying to store *data*. As long as the material isn't executed, but only read, you can easily go higher than that "limit". A couple of the large games out there (Gemini, Joltima, etc) makes use of this fact by putting pretty much ALL of the data at the end so that when the code is copied to the executable location, nothing is ever being *run* past the end of that limit...

Most specifically, it's addresses $C000-$FFFF that doesn't allow code execution, except under special circumstances that doesn't exist on the TI-83+ (non-SE calcs) and a few other lesser ones.

To further answer the first question, you can write back to your program in a defined space as opposed to some saferam value that doesn't get saved back with your program.

To further affirm some of the other responses in the thread, ION and a few other types of programs meant to run in shells will preserve changes (unless the user set the shell to not do so). Nostub by default doesn't save changes, as the program put at $9D95 is a temp (copy) program and is erased after the ASM program hands execution back to the OS.

Navigation

[0] Message Index

[*] Previous page

Go to full version