I have the following algorithm to implement. I have some code written in assembly which I parse via knime.
For each instruction a knime block is generated.
Then the program starts the first node creates like a memory layout with constants and memory areas reserved for usage.
In this it enters the registers also.
Everything is ok up to here. The problems that I have is how to represent the jumps because knime does not allow loops.
Could you please give me any suggestions of how I could implement loops of conditional jumps?
My first thought was to go through the execution tree in width starting from the first instruction.
whenever I find a label if this label I create a loop start.
whenever I find a jump to this label I create a loop end.
If there are several loop ends pointing to the same label that is where I don't know anymore what to do.
If there is a consitional jump that does not go to a previously discovered label than this will act as a node with two exists. Depending on the execution of the node one output will ne null and the other one contain the data.
Any thoughts how to implement the situation when there are several loop ends?
Another issue is that the condition to continue looping or not is found in one of the rows in the incoming data table.
This table including this value is changed inside the loop. How may I implement the end and begin loop?