?login_element?
?pathlinks? – Rev 835
Blame |
Last modification |
View Log
| Download
<
meta content="text/html; charset=ISO-8859-2" http-equiv="content-type">
Code
analyser analyses the code of the simulated program and tries to
figure out which address contains valid instruction. <
br>
Analyser starts
analysing of the code with address 0 which always must contain an
instruction because reset of the device sets zero into program
counter. So, analyser marks address 0 that it contains an
instruction. Then it marks the address of the next instruction and so
on. If the analyser finds a <
i>jump<
/i> instruction it continues with
destination address of the <
i>jump<
/i> instruction. If it finds a
<
i>call<
/i> instruction, it recursively analyses destination address
as well as next instruction follows the <
i>call<
/i> one.<
br>
Analysator
stops if it finds an address which is already marked or if it finds a
<
i>return<
/i> instruction or an indirect <
i>jump<
/i> which is
impossible to follow. All these mean that it is impossible to discover
all instructions of the program.
<
p>This problem is solved in very simple way. If the
execution reaches an unmarked address, the analyser is called to
analyse the
code starting at actual address pointed by the PC.<
/p>