Can someone make an Axe dissasembler (dissasembles Asm programs and gives source code) on calculator? That would be nice
It would be possible, but I'm sure you would have a ton of errors in translation along the way.
It would be quite difficult. Most Axe programs include the source anyway though don't they?
It would be possible, but I'm sure you would have a ton of errors in translation along the way.
Ashbad, that looks like it would get a few things right, but all it could properly do is Bcalls.
Fortunately, Axe DOES do better with data handling :) in fact, it reserves a .data section where all data is stored soon after the last Return. Everything in the .data section would then be easily distinguishable -- though only as raw data and not in forms of strings, etc. Unless you go through the program and literally see how the program handles all of the data byte by byte, and that wouldn't be near perfect still. If someone does try to attempt one (maybe I will after the contest...) I think it should decompile to multiple programs, one for each .section.
Perhaps he wants to get whatever the Axe source would be for a program that was written in ASM, not necessarily one that was written in Axe. Of course, that's even more impossible than trying to disassemble a program written in Axe back to its source.
Perhaps he wants to get whatever the Axe source would be for a program that was written in ASM, not necessarily one that was written in Axe. Of course, that's even more impossible than trying to disassemble a program written in Axe back to its source.If that's the case, that kind of makes my head hurt even thinking about it.
As far as I know, the only finished and released Mario games were written in z80 assembly, not Axe. So it sounds like you don't want an Axe disassembler, just a regular z80 disassembler.Actually it includes the Asm source code
However, unless the author of a program explicitly tells you that you can use their code in your own project, do not use their code. Even if it's not illegal, more importantly it's just not right.
Can someone make an Axe dissasembler (dissasembles Asm programs and gives source code) on calculator? That would be niceWill do.
That would be awesome! :DCan someone make an Axe dissasembler (dissasembles Asm programs and gives source code) on calculator? That would be niceWill do.
An Axe disassembler is nearly impossible for the following reasons:
-You lose the names of Pointers, Labels, and Variables
-You lose comments and code formatting
-You can't tell if specific data was a string, or number list, or sprite, or picture, etc.
-Each new version of axe changes the routines used so the disassembler would have to be rewritten each version
-Peephole opts make it even more difficult to disassemble.
-Axioms, inline assembly, and other things like that would not translate
It is however, fairly trivial to disassemble it to assembly, and then map native Axe routines and variable locations to the assembly program. But you would definitely not be able to turn it back into Axe language unless you do it by hand or something.
Can someone make an Axe dissasembler (dissasembles Asm programs and gives source code) on calculator? That would be niceWill do.
So all this does is convert an existing prog to its hex? Because i thought decompiling was a bit more ???And it is, in general! So, do not despair. ;)
I wrote a 500-bytes equivalent in Axe a while ago that doesn't need any of your restrictions. It's called PROG2HEX, and what it does is simply getting a name from an input and unsquishing it in a program which has the same name starting with theta.I've used prog2hex a couple times and I like it a lot.
I understand you, but what if for example just runner112 has the decompiler so you can send him the asm programm(cmdv2) and he gives you the decompiled source(for easier rewrite)?
An Axe disassembler is nearly impossible for the following reasons:
-You lose the names of Pointers, Labels, and Variables
-You lose comments and code formatting
-You can't tell if specific data was a string, or number list, or sprite, or picture, etc.
-Each new version of axe changes the routines used so the disassembler would have to be rewritten each version
-Peephole opts make it even more difficult to disassemble.
-Axioms, inline assembly, and other things like that would not translate
It is however, fairly trivial to disassemble it to assembly, and then map native Axe routines and variable locations to the assembly program. But you would definitely not be able to turn it back into Axe language unless you do it by hand or something.
I understand you, but what if for example just runner112 has the decompiler so you can send him the asm programm(cmdv2) and he gives you the decompiled source(for easier rewrite)?
You should try to read through the thread first to see if your question has already been answered. In this case, it has been.