LZ-Adv: Decompiler???


[Prev][Next][Index][Thread]

LZ-Adv: Decompiler???



Hi again.


Well, I didn't get any answers to my query on returning to Zshell from a 
program or how checksums are used.  If they were sent, I unfortunately 
did not get them.  Anyway, checksums are still a mystery, but I managed 
to find out (from: Machine Language Programming Made Simple for your 
Sinclair & Timex TS1000 from Melbourne House Publishers) that the return 
address is placed on the stack when a subroutine is called so the sub 
knows where to go back.  I am assuming that zshell basically calls a 
subroutine so that address is stacked.  Therefore, to return to zshell, 
everything needs to be popped back out so that that address is on top.  
Please correct me if I have failed to understand this.


I also mentioned a couple of weeks ago that I had fabricated a 
decompiler in TI Basic.  One email reply I got asked how fast it 
was...Well, the one test I did on a 2k program took it over 3 hrs to get 
36% done.  That of course was unacceptable (but the TIBasic compiler is 
pretty fast...you do have to store the op codes in a list so you are 
probably limited to 255 op codes???  Isn't that max list size?)  Anyway, 
I have made a zshell program that has you input the length of the 
program name and its name (in caps... it knows to look for either...I 
just pumped the code out so it still does not accept numbers as part of 
the name).  Then it searches the VAT and finds the program and begins to 
display the address and contents.  It exits if no string is found before 
VAT_END.  I borrowed two routines-- one to display the address contents 
in hex and the other to set up a data table to check for valid keys when 
entering the name of the variable, so if anyone would like to see the 
code, I would probably have to clear it with them first or rewrite those 
two routines.  The search takes absolutely no time at all but the 
display is pretty primitive.  I will look at making a few changes for 
V.2.


Oh, If you email me, you will need to wait about a week for a response 
as I will be cybernetically unavailable for a while (due to overtime at 
work and finals at school) but I should be back up the weekend after 
Turkey day.




Cheers,


Mark


P.S,  I have heard that in Zshell v.4.0 I should be able to leave a 
program and come out outside of Zshell.  How would I do this??  TIA
<pre>
-- 




"No hay mal que por bien no venga" 
 - Spanish proverb


Mark and Esmeralda Lybrand
1330 West 10th Avenue #51
Kennewick WA 99336-6070
USA


Tel: (509) 586-1807
</pre>