Hello guys! This time I wanted to do a smaller project, and decided to create an on-calc disassembler, using zdis. This is some nifty program to disassemble code, mainly used by CEmu, but not surprisingly it works on a calculator as well! So I gave it a try, and managed to get a full disassembler working:



It includes basic syntax highlighting, customization, quickly scrolling and more! The source code can be found on my GitHub, so feel free to check it out. You can download it from the Archives. Have fun! Smile
PT_ wrote:
Hello guys! This time I wanted to do a smaller project, and decided to create an on-calc disassembler, using zdis. This is some nifty program to disassemble code, mainly used by CEmu, but not surprisingly it works on a calculator as well! So I gave it a try, and managed to get a full disassembler working:


PT_, This is pretty epic! I do have a question though. For beginners, like me, who may not understand what exactly is being displayed (it looks like ASM code to me...) it might be helpful to include some documentation on what common returns from the disassembler are and what they mean so that beginners can have some grasp on the situation. But other than that, I really enjoyed using it! It's definitely something any programmer would want to have on their calculator! Thanks for the upload! Smile
This is pretty awesome! I'd like if it could decompress a program so I can edit code before running it. Definitely not to cheat at any games Evil or Very Mad
ProgrammerBobSmith wrote:
PT_, This is pretty epic! I do have a question though. For beginners, like me, who may not understand what exactly is being displayed (it looks like ASM code to me...) it might be helpful to include some documentation on what common returns from the disassembler are and what they mean so that beginners can have some grasp on the situation. But other than that, I really enjoyed using it! It's definitely something any programmer would want to have on their calculator! Thanks for the upload! Smile

To be honest, if you have no idea what the columns mean, you shouldn't even be using this program Evil or Very Mad anyway, the first column is the address, the second column the bytes of the instruction, and the third and fourth column the instruction (plus argument) itself.

TheLastMillennial wrote:
This is pretty awesome! I'd like if it could decompress a program so I can edit code before running it. Definitely not to cheat at any games Evil or Very Mad

Haha Razz I made myself a feature request to decompress C programs before disassembling, so it's on my todo list! However, you still cannot edit code with this program Wink.
PT_ wrote:
ProgrammerBobSmith wrote:
PT_, This is pretty epic! I do have a question though. For beginners, like me, who may not understand what exactly is being displayed (it looks like ASM code to me...) it might be helpful to include some documentation on what common returns from the disassembler are and what they mean so that beginners can have some grasp on the situation. But other than that, I really enjoyed using it! It's definitely something any programmer would want to have on their calculator! Thanks for the upload! Smile

To be honest, if you have no idea what the columns mean, you shouldn't even be using this program Evil or Very Mad anyway, the first column is the address, the second column the bytes of the instruction, and the third and fourth column the instruction (plus argument) itself.


I figured out what each of them meant. And I also have a suggestion, it would be nice if the disassembler could disassemble AppVars!
ProgrammerBobSmith wrote:
I figured out what each of them meant. And I also have a suggestion, it would be nice if the disassembler could disassemble AppVars!

A disassembler is for disassembling native code programs, by turning bytes back into assembly instructions. AppVars can either contain or not contain native code, which means you cannot "disassemble AppVars".
But on the other hand, data is what you define it to be, so you can try translating whatever data(AppVar, TI-BASIC program, even Pic) into assembly by using a disassembler if you want to, because a disassembler probably assumes the data you feed into it is code(or contains code). Just don't expect it always spitting reasonable results tho Razz

Edit: thanks firepup, fghsgh and zeroko for grammatical suggestions
LifeEmu wrote:

A disassembler is for disassembling native code programs, by turning bytes back into assembly instructions. AppVars can either contain or not contain native code, which means you cannot "disassemble AppVars".
But on the other hand, data is what you define it to be, so you can try translating whatever data(AppVar, TI-BASIC program, even Pic) into assembly by using a disassembler if you want to, because a disassembler probably assumes the data you feed into it is code(or contains code). Just don't expect it always spitting reasonable results tho Razz


So is there a program for the CE that will allow me to read the data inside an AppVar?
ProgrammerBobSmith wrote:
So is there a program for the CE that will allow me to read the data inside an AppVar?

Hexaedit CE by Captain Calc is very nice, I've been using it for quite a while now and I'm sure it'll be able to fulfill your needs.
PT_ I can't help but notice all your post say Sola fide which means faith alone and part of the 5 Solas: Christ alone, glory to God alone, Scripture alone, faith alone, and grace alone. I know cemetech isn't supposed to have religion but I just thought that was interesting and I can't believe I haven't noticed it before sorry to get off topic yall. Any way to get back on topic my scores on Pac man have suddenly improved for some reason.
  
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 1
» 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

 

Advertisement