M6811DIS Disassembler

Ludis Langens ludis at cruzers.com
Sat Jul 17 05:47:05 GMT 1999


Donald Whisnant wrote:
> 
> An
> example would be code written in a high level language when compiled
> with one particular version of a compiler with a certain set of
> optimizations might be slightly different from the identical code
> compiled with a different version of the compiler (or different
> compiler all together)...

I've yet to run across any compiled 'HC11 code, so that's not a bridge
we need to cross.  However, a lot of the math subroutines have been
repeatedly optimized for speed.  Automagically figuring out that they
have identical functionality would be cool.


> Usually, when a compiler loads an offset for data like that and addresses
> additional data with indexes from that address, then what you are looking
> at is a structure -- i.e. the data is related -- though, not always as
> this breaks down with stack/frame relationships and variables local to
> a function...

> This is very readable and would effectively be similar to a C struct:
> 
> struct {
>     char Foo;
>     char Bar;
>     char Zot;
> } FBZStruct;

Problem is, the locations accessed this way are often not fields of a
structure.  They can be a hundred or two hundred bytes apart.  Often, a
different part of the code accesses the same locations directly via
extended addresses.  Further, the "structure's" intermediate locations
might be accessed only via extended addresses (from other parts of the PROM).

-- 
Ludis Langens                               ludis (at) cruzers (dot) com
Mac, Fiero, & engine controller goodies:  http://www.cruzers.com/~ludis/





More information about the Gmecm mailing list