Wieso mit Stack?
Die Anzahl an lesenden und schreibenden Operationen auf dem Stack muss gleich sein! (Zumindestens in den meisten Fällen. Wenn der Programmierer den Stack zweckentfremden will, muss er alle möglichen Fehler ausschließen können)
Das heißt, werfe ich anfangs die Daten auf den Stack, wird dieser danach automatisch dekrementiert. Hole ich einmal die Daten mit pop ab, dann klappt das noch. Hole ich sie dann ein zweites mal per pop ab, gehts schief.
Den Stack sollte man daher in diesem Fall nicht nutzen.
Man kann es, aber es ist nicht empfehlenswert.
Zumal muss vorher der Stackpointer auf den richtigen Teil im Arbeitsspeicher zeigen (in meinem ersten Beispiel steht, wie es geht).
Edit: du kannst natürlich den Stack benutzen, ohne push und pop. Dazu brauchst du zwei Register, die auf die richtige Adresse zeigen und eine Instruktion, die die Daten ließt. Das dauert länger

.
_________________
[ Diese Nachricht wurde geändert von: DonComi am 2 Jan 2008 16:55 ]