2016-06-19 20 views
-2

Ich habe eine Frage zu Verfahren. Lassen Sie uns sagen, ich mache eine Prozedur, wird es nur funktionieren, wenn ich es anrufe oder dorthin springe oder wird es normal wie ein Etikett funktionieren?x86 Versammlung - über Verfahren

Danke.

+2

Was meinen Sie mit "normal arbeiten wie ein Etikett"? Wie wäre das anders als zu einer Prozedur zu springen? –

+1

TASM hat eine Menge PROC-Sachen, die Ihnen helfen können, Sie können alles ignorieren und Code schreiben, wie Sie möchten, tatsächlich ist das Organisieren Ihres Codes in Prozeduren überhaupt nicht notwendig (nur nützlich). – harold

+2

Ich verstehe deine Frage nicht. – fuz

Antwort

2

Wenn es eine ret instuction verwendet dann erwartet sie eine Rückkehr Adr wurde auf den Stapel geschoben ... so, um es jmp'ing ohne dass drängen würde einen Stapel Problem verursachen.

+1

Ein Verfahren ohne einen Anruf und ohne ein ret, denke an es als ein Etikett. Sie springen einfach dazu, aber anstatt ein Label zu sein, ist es eine Prozedur. – KatomPower

+1

Klingt, als hättest du es unter Kontrolle ... teste es vielleicht und komm zurück, wenn du ein Problem oder eine spezifischere Frage hast. – ABuckau

+0

Nun, Sie können von jeder anderen Prozedur zu ihr springen, aber ohne ein 'CALL' und ein' RET' können Sie nur ein einziges Ziel an seinem Ende fest programmieren. Es ist also keine Prozedur. –