Re: A83: 83 Disassembler


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

Re: A83: 83 Disassembler




>    I currently have a 83 Disassembler in beta
> testing.
> (Nearly done) It works fine except when it comes to
> .db statements.  There is no sure way to know if
> what
> you are looking at is a .db (.dw ect..) statement or
> code.
> 
>   Anyone have any ideas on how to tell the
> difference
> between code and a .db statement??

Yes. You have to keep up which areas in memory are
accessed through LD A,(nnnn) and LD HL,(nnnn), etc.
The LD HLs are DWs and the LD As are DBs. LD HL,nnnn
or LD DE,nnnn will highly likely be a series of DBs.
This serie will continue until an unknown point.

Also keep up which adresses is jumped or called to.
Called routines are subroutines (until the RET). The
prevously mentioned 'unknown point' of a series of DBs
or DWs continues until the first (sub)routine, which
can be recognized by using the table of jumps/calls.

You can also add some more 'artificial intelligence',
and for example recognize text (parts of the code
contains alot of #20s and ASCII codes between "A" and
"z", most of the time stops with a 0-code).

Hope to have helped you with this,


~Grauw



=====

__________________________________________________
Do You Yahoo!?
Bid and sell for free at http://auctions.yahoo.com


Follow-Ups: