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!
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!
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
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!
To be honest, if you have no idea what the columns mean, you shouldn't even be using this program 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
Haha 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 .
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!
To be honest, if you have no idea what the columns mean, you shouldn't even be using this program 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
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
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
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