You are not logged in.


Sniper-Hawk

Stamm Clubber

  • "Sniper-Hawk" started this thread

Posts: 99

Location: .........

Occupation: Schüler

  • Send private message

1

Wednesday, August 8th 2007, 3:51pm

[Titel geändert] Was ist der Stack?

Hii.. ehm.. alsoo da ich jez in Assembler "reinschaue" hab ich paar fragen eis bezueglich..
ich bin relative sehr am anfang..

1. Ich hab den Sinn eines Stacks nicht wirklich verstanden.. kann mir das jemand erleutern ? ^^'

2. Wenn mir schon jemand sagt was fuer ein sinn das hat.. kann mir gleich sagen.. wie das jez ist.. alsoo.. Stackpointer usw..

3. Wenn ich auch den sinn verstanden hab.. kann mir das jemand dann in Assembler erleutern ?

ok das wars fuers erste ;)


MFG
TOMEK

// Edit Rolf: Titel geändert

ProgBeginner

Neuer Clubber

Posts: 99

Location: Minden

Occupation: Arbeitssuchend

  • Send private message

2

Wednesday, August 8th 2007, 5:10pm

RE: Paar fragen zu Assembler

Ich habe von Assembler zwar nicht viel Ahnung - eher gesagt gar keine, aber zum Thema Stack hat man mir hier weiterhelfen können ;-)


Liebe Grüsse

This post has been edited 1 times, last edit by "ProgBeginner" (Aug 8th 2007, 5:11pm)


Sniper-Hawk

Stamm Clubber

  • "Sniper-Hawk" started this thread

Posts: 99

Location: .........

Occupation: Schüler

  • Send private message

3

Wednesday, August 8th 2007, 5:58pm

ok.. ich habs zu 1. es so verstanden dass die meistens als Parameter zu funktionen genutzt werden.. ?

Rolf

Moderatorenleitung

Posts: 932

Location: Tessin (Schweiz)

Occupation: *

  • Send private message

4

Wednesday, August 8th 2007, 6:15pm

Hallo

ich empfehle Dir die Einführung von Dr. P. Carter (pdf). Kapitel 4 beschäftigt sich ausführlich mit dem Stack.

Gruss Rolf
Wenn Du entdeckst, dass Du ein totes Pferd reitest, steig ab. Weisheit der Dakota Indianer

Sniper-Hawk

Stamm Clubber

  • "Sniper-Hawk" started this thread

Posts: 99

Location: .........

Occupation: Schüler

  • Send private message

5

Thursday, August 9th 2007, 8:42pm

DANKE Fuer dieses Tutorual.. es ist.. endgegengesetzt zu anderen Tuts einfach zu verstehen.. DANKE.. nach so einem hab ich gesucht..

Und auch thx fuer den Wikipedia dings...... jetz kapier ichs...

nochmalls Danke !

Es kommen vll noch paar fragen.. wenn sie nicht durch dieses Tutorial geloest werden.. ^^

Paul Keller

Moderator

Posts: 194

Location: Leipzig

Occupation: Programmierer, Netzwerktechniker, Administrator

  • Send private message

6

Saturday, August 11th 2007, 12:08am

Ein Stack ist simpel gesagt das Stück Speicher was das aktuelle Programm benutzt. Mit aktuellem Programm kann auch eine Funktion gemeint sein. Das heißt wenn eine Funktion von dem Hauptprogramm aufgerufen wird, reserviert der Kernel für diese Funktion einen neuen Stack, auf diesen werden dann unter anderem alle Parameter und die Rücksprungadresse kopiert. Das ganze passiert in der entgegengesetzten Richtung. Also ein Stack wächst von den grossen zu den kleinen Adressen. Ein Stack ist auch nicht unbedingt etwas, was nur mit einem Assembler zu tun hat, da es eigentlich nur eine Art Datentyp ist, die hilft, die Dinge so umzusetzen wie sie umgesetzt sind. In einer Programmiersprache wie C oder C++ kommst du mit Stack allerdings nicht zwangsläufig und bewusst in Berührung, deswegen sind es auch höhere Programmiersprachen. In Assembler speicherst du einen Wert mit dem Befehl PUSH auf dem Stack und holst ihn mit POP wieder runter (die Befehle werden bei einer anderen Assembler Syntax unter Umständen anders und vom Datentyp abhängig geschrieben).

Gruss
And on the first day, man created god.

Rolf

Moderatorenleitung

Posts: 932

Location: Tessin (Schweiz)

Occupation: *

  • Send private message

7

Saturday, August 11th 2007, 7:07am

Hallo

Quoted

Original von Paul Keller
Das heißt wenn eine Funktion von dem Hauptprogramm aufgerufen wird, reserviert der Kernel für diese Funktion einen neuen Stack, ...


Der Stack wird beim Starten des Programms eingerichtet. Funktionen verwenden den Stack des (Haupt-) Programms.

Gruss Rolf
Wenn Du entdeckst, dass Du ein totes Pferd reitest, steig ab. Weisheit der Dakota Indianer

Paul Keller

Moderator

Posts: 194

Location: Leipzig

Occupation: Programmierer, Netzwerktechniker, Administrator

  • Send private message

8

Saturday, August 11th 2007, 12:02pm

Ach ja, der Heap wird zur Laufzeit angefordert... Mein Fehler :rolleyes:

/me goes back reading "Smashing the Stack for Fun and Profit"

Gruss
And on the first day, man created god.

Rate this thread