Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
jenny:offenerbereich:digitalesysteme [2025/04/19 20:02] 3.148.113.167 alte Version wiederhergestellt (2025/02/27 07:08) |
— (aktuell) | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | wenig Datenmengen im Stack. | ||
- | |||
- | Hex code 0xDEADBEEF auf den Stack legen dann hat man ein Steak wenn der Prozessor gegrillt wird. | ||
- | |||
- | Stackwert ist 4Byte also immer 32Bit lang und adressiert nur den niederwertige Byte (little endien) als SpeicherAdresse zu den Stackpointerregister. | ||
- | |||
- | ====== Rücksprung ====== | ||
- | Spezialbefehl für Programmsprünge zum speichern der Rücksprungadresse auf dem Stack ESP | ||
- | Assemblerbefehll: | ||
- | '' | ||
- | --> diese Folgeadresse landet mit push auf den ESP-Stack | ||
- | . | ||
- | max: todo | ||
- | . | ||
- | '' | ||
- | <note tip> | ||
- | in //libc// | ||
- | |||
- | .format .asciz 'X = %d\n' ; Formatstring für printf() | ||
- | |||
- | call printf | ||
- | |||
- | add esp,8 ;// Stackkorrektur für eigene push' | ||
- | </ | ||