of     1   

JoshuinOrphus
#88249152Friday, February 01, 2013 7:57 PM GMT

I'm writing out some tutorials on writing programs for the TI-83/84 calculators. Note: These are not TI-BASIC programs. Part 1: Writing the program I suggest you download the TI-83 SDK from Texas Instrument's website, because it comes with the TI-83 Flahs Debugger which is basically an emulator for the calculator. Messing up on a program would cause your calculator to crash and lose all of your work. So it's best for it to mess up within your emulator than on your actual calculator. Note: If you are using the TI-84, then, before you start programming, press Alpha+Mode then scroll down to "Math Print" and change it to "Classic". Having math print on could mess up some programs. It is possible to disable it/enable it within the program itself, but this way's easier. To start writing your program, either download TI-ProgramEditor (which lets you write the programs on your PC), or click the "PRGM" button, scroll over to "NEW", and press enter. Name it whatever you want. For Assembly programs, or HexAsm programs, you must head them with the "AsmPrgm" header. On the calculator, simply press 2nd+0 (this will open the catolog) and scroll down to "AsmPrgm" and put that at the top of your programs. This must head all Assembly programs. We are also going to learn how to compile Assembly programs. To do this, first I am going to give you an example code: ----------------------------------------------------------------------------------- AsmPrgm 219F9D EF0A45 EF2E45 C9 48656C6C6F2C20576F726C642100 ----------------------------------------------------------------------------------- Either type than in on the calculator or copy/paste it into TI-ProgramEditor. I named my program "ASM". You can debug a program before compiling it. To debug it, press 2nd+0 on the calculator to open up the catalog and select "Asm(". After that, press the "PRGM" button, scroll over to "EXEC" and select your program. My program is named "ASM", so for me, the command looks like this: Asm(prgmASM Press enter and it will run your program. You should get the output "Hello, World!". That means it worked. To compile your program, go back to the catalog and run this: AsmComp(prgmASM, prgmASM2 The first parameter I put in "prgmASM". That's the program you want it to compile. The second parameter is the new name of the compiled program. Which I named "ASM2". After running this, I will get a new file called "ASM2" and it would be compiled an uneditable. You can run compiled Assembly programs like so: Asm(prgmASM2 That would run it. I will add more tutorials onto this thread later.
Techboy6601
#88249679Friday, February 01, 2013 8:05 PM GMT

Using this method with the C9 code is pretty funny. --- Kaa's Law: In any sufficiently large group of people most are idiots.
JoshuinOrphus
#88249912Friday, February 01, 2013 8:09 PM GMT

Part 2: Opcodes Opcodes are defined as, "the portion of a machine language instruction that specifies the operation to be performed." For HexAsm, we are essentially writing Machine Language, but instead of using Binary, we are using Hexadecimal. In order to program, you must have a list of Opcodes. Go onto Google and search "Zeda's Opcode Reference Chart". This will give you a Spreadsheet of all of the opcodes. When writing in Hex, I start each line (that is meant to be executed), with an Opcode. Since every byte in hexidecimal is 2 numbers, we can conclude that the opcodes are the first two characters on each line: ----------------------------------------------------------------------------------- AsmPrgm 219F9D EF0A45 EF2E45 C9 48656C6C6F2C20576F726C642100 ----------------------------------------------------------------------------------- The opcodes for this "Hello, World!" program are: 21 EF C9 If we check Zeda's opcode chart, you can look these up. If we replace the opcodes with what the chart says they are, the code would look like this: ----------------------------------------------------------------------------------- AsmPrgm ld hl, 9F9D bcall 0A45 bcall 2E45 ret 48656C6C6F2C20576F726C642100 ----------------------------------------------------------------------------------- Note, "EF"'s line up with "rst 28h" on the chart. But "rst 28h" is the location of the bcalls. And bcalls are very important. So I usually write "bcall" rather tha "rst 28h". As the chart reads, "rst jumps to the address. rst 28h jumps to address 0028h. This is bcall on the TI-83+". This part was just explaining that opcodes are bytes in data that do something. And every byte in hex is represented by 2 characters. You cannot have an odd number of characters in your program.
JoshuinOrphus
#88249949Friday, February 01, 2013 8:10 PM GMT

@Tech What are you talking about? Are you simply trolling?
FriendlyBiscuit
#88250557Friday, February 01, 2013 8:20 PM GMT

Why the hell are you posting this? ._. [ AbsoluteLOL - TFN Prime General ]
JoshuinOrphus
#88250826Friday, February 01, 2013 8:24 PM GMT

Fine. I'll post my tutorials elsewhere. I thought some of you people cared about programming and understanding how computers work.
FriendlyBiscuit
#88250919Friday, February 01, 2013 8:25 PM GMT

We do care about programming. But showing us Hexadecimal Assembly for a calculator simply doesn't fit here. Also, we all understand how computers work. Just saying. [ AbsoluteLOL - TFN Prime General ]
JoshuinOrphus
#88251637Friday, February 01, 2013 8:37 PM GMT

Then explain to me the piece of code I posted as an example. Explain to me how the "XOR" operator works on the computer. Explain to me what the "HL" register is. Do those and I'll believe you "understand how computers work".
FriendlyBiscuit
#88251937Friday, February 01, 2013 8:41 PM GMT

Are you truly going to question my (or other's) knowledge on Computer Science? I'm not going to answer your question. This entire thread is spam. I truly tried to be mature after my little "outburst" when I said "Why in the hell did you post this?" I now see it was for nothing. You are clearly a stubborn narcissist who believes that he is smarter than others. I'd hate to break it to you, but you're not. I have ~6 1/2 years of programming experience thanks to my father, who taught me circuitry and how computers work inside and out. I sure as hell will not have my knowledge questioned by anyone like you. [ AbsoluteLOL - TFN Prime General ]
JoshuinOrphus
#88252143Friday, February 01, 2013 8:44 PM GMT

>"I'm not going to answer your question." Thank you for proving my point. >"You are clearly a stubborn narcissist who believes that he is smarter than others." Ah. So you are going to insult me so you can feel "smarter" even though you can't answer such simplistic questions. Interesting. >"I sure as hell will not have my knowledge questioned by anyone like you." What knowledge? >"I have ~6 1/2 years of programming experience thanks to my father" Yeah, and you can't even answer such simplistic questions. All you had to do was answer the questions and prove me wrong and you would've "won". But you couldn't, so you chose to "assert your dominance" instead and avoid the questions. Thank you for proving my point.
Waterlimon
#88252503Friday, February 01, 2013 8:49 PM GMT

This dosnt belung here u n0b Unless you post how to program umm 1 sec... casio fx 9860-GII k
JoshuinOrphus
#88252746Friday, February 01, 2013 8:53 PM GMT

@Radio I had one of those before. I programmed a spaceship game on it and another game where there were a bunch of spinning coins and you had to get as many as you could before the timer went out. I was only borrowing it, though. I don't own it anymore. :I
FriendlyBiscuit
#88252958Friday, February 01, 2013 8:56 PM GMT

Your "point" is that no one who forums here knows how computers work. Your logic is biased and invalid simply because you think "they're kids; they must be stupid!" "Thank you for proving my point." Refusal to answer a question does not prove incompetency in the slightest. "Ah. So you are going to insult me so you can feel "smarter" even though you can't answer such simplistic questions. Interesting." I insulted you because it is true. You were completely ignoring the point within my second post. This thread does not belong here, and you (apparently) are clearly aware of this. Yet, you continue to argue against me in some attempt to prove that you have a higher knowledge base than me. That's classic narcissism. "Yeah, and you can't even answer such simplistic questions." I am perfectly capable of answering the questions you have provided. However, I choose not to quite simply because I just don't want to. As I stated earlier, refusal to provide an answer to a question does not prove that the questioned person does not know the answer. "All you had to do was answer the questions and prove me wrong and you would've "won"." You're implying that this is some sort of "battle". I was simply informing you that this thread does not belong here. "But you couldn't, so you chose to "assert your dominance" instead and avoid the questions." Again, I wasn't "avoiding" the questions. I simply refused to answer them. How about you do us all a humongous favor, and just leave? Stop arguing. Stop trying to prove that you're smarter than me, or anyone else for that matter. [ AbsoluteLOL - TFN Prime General ]
FriendlyBiscuit
#88253521Friday, February 01, 2013 9:04 PM GMT

Don't even bother replying. I will not read or respond to it in any fashion. I'm done with you. [ AbsoluteLOL - TFN Prime General ]
JoshuinOrphus
#88254871Friday, February 01, 2013 9:23 PM GMT

>"Your "point" is that no one who forums here knows how computers work. Your logic is biased and invalid simply because you think "they're kids; they must be stupid!"" Me: "I thought some of you people cared about programming and understanding how computers work." Just disproved your entire premise. Meaning, the rest of your post is worthless, but let's go through your butthurtism anyways. >"I insulted you because it is true. You were completely ignoring the point within my second post. " The point that you are extremely arrogant and egoistic? I think I touched on that quite well. >"This thread does not belong here, and you (apparently) are clearly aware of this. Yet, you continue to argue against me in some attempt to prove that you have a higher knowledge base than me. That's classic narcissism." narcism - self-love: an exceptional interest in and admiration for yourself; >"Also, we all understand how computers work. " >"I have ~6 1/2 years of programming experience thanks to my father, who taught me circuitry and how computers work inside and out. I sure as hell will not have my knowledge questioned by anyone like you." >"I am perfectly capable of answering the questions you have provided. However, I choose not to quite simply because I just don't want to. " You mean, you cannot answer them and you want to cover it up with egocentric insults? >"You're implying that this is some sort of "battle". I was simply informing you that this thread does not belong here." And have you not been insulting me this entire time? >"Again, I wasn't "avoiding" the questions. I simply refused to answer them." avoiding - Keep away from or stop oneself from doing (something) >"How about you do us all a humongous favor, and just leave? Stop arguing. Stop trying to prove that you're smarter than me, or anyone else for that matter." hehehe. Pot called the kettle black, my friend. >"Don't even bother replying. I will not read or respond to it in any fashion. I'm done with you." Oh yes you will.
Techboy6601
#88255722Friday, February 01, 2013 9:35 PM GMT

@joshuinorphus You do realize that by feeding the flame war you're just making yourself look more like an idiot, right? --- Kaa's Law: In any sufficiently large group of people most are idiots.
Prehistoricman
#88255917Friday, February 01, 2013 9:38 PM GMT

This dosnt belung here u n0b Unless you post how to program umm 1 sec... casio fx-6100 bulldozer k
FriendlyBiscuit
#88256365Friday, February 01, 2013 9:43 PM GMT

"And have you not been insulting me this entire time?" "entire time" "*ENTIRE TIME*" "We do care about programming. But showing us Hexadecimal Assembly for a calculator simply doesn't fit here." http://www.youtube.com/watch?v=5hfYJsQAhl0 [ AbsoluteLOL - TFN Prime General ]
Prehistoricman
#88256418Friday, February 01, 2013 9:44 PM GMT

I think it's rather funny how flame wars are done. You quote small bits of their text and explain how wrong they are, then they copy bits of that and explain how wrong you were about saying they were wrong. It works well to annoy people and extend the flame longer and longer.
booing
#88257125Friday, February 01, 2013 9:52 PM GMT

@OP As suggested by this forum's location, this forum is supposed to be about primarily RBX.Lua scripting. Posting about an entirely different operating system that isn't meant to go onto a PC/iCrap device is COMPLETELY off-topic. Although some of us may care, and a few of us know assembly, most of us won't care about an assembly language that we probably won't even use! However, I do think this topic deems as interesting, but you aren't going to find much interest here; I'd post on another forum off of Roblox.
zxv12
#88257841Friday, February 01, 2013 10:00 PM GMT

Well that escalated quickly. This post doesn't belong here nub. Unless you post how to program... PayLess Back2School Calc (c) 2008 Pls.
zxv12
#88258215Friday, February 01, 2013 10:05 PM GMT

" I think it's rather funny how flame wars are done. You quote small bits of their text and explain how wrong they are, then they copy bits of that and explain how wrong you were about saying they were wrong. It works well to annoy people and extend the flame longer and longer." Yeah and you go in circles, it's so annoying funny and tricky to do all at the same time.

    of     1