I believe that BASIC programs are compiled every time they are run on a TI clac. I am wondering if there could possibly be a way to right a program and have it run BASIC programs (yes like an emulator) and have it extract the compiled code. This would make BASIC programs MUCH faster if I am correct. Please let me know if any of this information is incorrect.
Basic programs are now compiled on the TI-83+ series, and while they can be it does not make them much faster (nor do I beleive a compiler exists).
I believe it converts it to machine code so it can read it, and that would make it faster, I believe.
IT DOES NOT. It is interperted as the program is run. It is not what you beleive, it is what happens. (Of course this is just what I beleive Smile).
As this topic is full of (I believe) I believe it is safe to argue. Laughing I think what makes Assembly fast is that it is compiled and it does not NEED to be interpreted. Again I believe. Razz
Yes that is accurate (somewhat), however, basic is NOT compiled and even if it was it would not be any faster.
I think we should wait to settle this when someone with a little more knowledge about this comes in. Yet I stand behind my theory for know. Razz
"Someone with a little more knowledge", I'm pretty sure the next person who logs on with any knowledge will agree. Meh to that statement.
Super Speler's right. It's interpreted on-the-fly. And there have been attempts at BASIC compilers but neither of them work very well or at all. If you truly want speed, making your program in Assembly is the way to go. Or if you want something a little bit easier to learn, but still faster than BASIC, try TIPower Gold.
Mexi1010 wrote:
I believe that BASIC programs are compiled.

No, no, no, no, no! How could you run a 16kb program if it's compiled for execution? How could error-filled TI-BASIC things even run if they were compiled first? If compilation occurred, why isn't there a delay between when you start the program and when execution starts? Why is there no delay afterwards for releasing the compiled contents? I barely believe that you didn't already think that through. I mean, "compiled" isn't even the right word to have used.
It is most definitly NOT compiled! Basic programs are made up of a string of 'tokens' which the calc interprets, its very simple actually Wink
Aww, I was hoping o well. Laughing well speaking of tokens, does anybody know the machine code of TI-BASIC, and if so is it possible to program like that. If this is ASM everyone can have a good laugh. Laughing (Though I believe it is not, otherwise ASM would not be compiled.)

EDIT: And I also wanted to know, is there a way to translate a list from a calc to normal computer text? It is for a program I am making...hehehehe...you will all find out what it is later, hopefully you will like it.
Assembly is not compiled, it is assembled into machine code. Each symbolic ASM command stands for exactly one machine code command. That is why you have to do everything literally in ASM. In other words, ASM = machine code in the same way that hex = binary: you're looking at the same numbers, just in a way that's easier for a human to understand.

Translate into string and send along GraphLink? If you can send strings, I am not familiar with computer <-> calc technology.

Try making a simply number --> string function first, then list to string should be easy.
Re list: Yes, you can make a computer program to convert it - rather easily in fact...

Re basic: There is no such thing as machine code of TI-Basic. There is machine code for Z80 (the CPU in the Ti-83+), which is what ASM is (actually, the correct term would be Z80 ASM, as there is a separate ASM language for each CPU architecture). You can call all of the TI-Basic functions from within an ASM program, but the question is WHY? TI-Basic operates in floating point, which is slllooooowwww.
when you edit a program, doesn't it have to be tokenized all over again? it's something i noticed awhile back on my 86. every time I made an edit in large program, it took five minutes before it started to run the first time.
Dunno. When PyroEdit was 12k and I made edits to it, it opened instantly.
If I recall correctly, the 86 checks BASIC programs for syntax errors and such after edits, which would cause a delay in large programs.
Even the 86 does not "compile" or assemble in the sense you're thinking of, Mexi. The way it works is you can type tokens out (e.g. C-l-r-H-o-m-e instead of [prgm][>][8]) and at runtime, it will convert all the typed-out text into actual tokens.
BASIC is slow because of its interpretation, and how TI wrote the routines. Assembly is fast because us ASM coders are smarter than TI and also it isn't interpreted. Think of it this way.

Speakin to someone who speaks back in english is very easy. But speaking to someone who speaks back and only in Spanish is hard. First you have to take what they said analyze it and convert it into english for you to understand then you have to form a response and translate that into the correct spanish. While speaking in english is just an understand and return. That is basically the correlation between TI-BASIC and Assembly.
Liazon wrote:
when you edit a program, doesn't it have to be tokenized all over again? it's something i noticed awhile back on my 86. every time I made an edit in large program, it took five minutes before it started to run the first time.

That only happens on the TI-86 though. Everything entered in on a TI-83+/TI-84+ series calculator is already a token, but the TI-86 allows for commands and such to be typed by the letter, instead of forcing the user to select it from a menu or something, so it has to be tokenized.

(I think)
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum