[fpc-pascal] Get all caller adresses of a given function/procedure before executing
Rainer Stratmann
RainerStratmann at t-online.de
Sat Aug 11 16:14:52 CEST 2012
Am Saturday 11 August 2012 14:46:53 schrieb Martin:
> On 11/08/2012 13:32, Rainer Stratmann wrote:
> > Am Saturday 11 August 2012 14:15:11 schrieb Martin:
> >> If that changes, then your code fails.
> >
> > I can easily adopt the code then.
> > There are not many different ways for a call.
> >
> > http://css.csail.mit.edu/6.858/2011/readings/i386/CALL.htm
>
> Yes, so the amount of effort may increase drastically. New CPU may bring
> new ways too.
But not the 80x86 CPU. It is still the same opcode for a call ($E8).
By now since 36 Years.
http://en.wikipedia.org/wiki/Intel_8086
What do you mean with drastically?
At the moment there is no unsolved whish to this topic.
> And with each added way, the already existing risk of false positives
> (the byte sequence can occur as subset of another statement, and then it
> isn't a call at all) does increase.
Note that it is only added to the table if also the adress is equal.
I am aware of 2 byte opcodes, but I see no obstacle in this.
If there are very unlikely more results then expected it will not be a
problem. The search through the whole program is mainly for me if adding new
text snippets or a complete new language.
I will be able to solve most requirements, because I am an experienced
programmer. On assembler language, too.
More information about the fpc-pascal
mailing list