Freie Scripten und Tutorials erstellt von Roland Geyer       Startseite | Gästebuch

Unterprogramme

Um Adressen und Daten wieder zu finden, müssen sie eindeutig zuordenbar gesichert werden.
Programmadressen als Stack (= abgelegte Karten). Verwaltet mit den Befehlen RET und CALL für die Adressen und PUSH(F) und POP(F) zum Sichern und Zurückholen der Daten, deren Reihenfolge und tatsächlichen Inhalt, ob Adresse oder Daten beachtet werden muss.

2 Möglichkeiten:call push pop ret
push call ret pop (schneller, Programm größer)

PUBLIC ProcedurName
.MODEL SMALL
.STACK 256
.CODE

ProcedurName PROC NEAR (FAR) (2)(USES BX CX)
(1)PUSH BX da die Register BX,CX verwendet werden.
PUSH CX
---------

---------
POP CX
POP BX
ProcedurName ENDP
END

Speicherbereich für Stack:: .STACK 256 in Byte

Sprungmarke: MARKE: muss zuerst definiert werden.
Vergleiche a mit b (intern a-b): cmp a,b
Wenn Ergebnis gleich, etc. dann Sprung: je MARKE

Wenn Haupt- und Unterprogramm im gleichen Segment: NEAR

Bei far:
Im Hauptprogramm:
Zuerst: EXTRN MYPROC:FAR

damit Kompiler weiß, dass myproc in einer anderen kompilierten Datei definiert ist. Diese Datei kann einen beliebigen Namen besitzen, da sie verlinkt werden muss. Mehrere Prozeduren werden in eine Datei mit ml/c kompiliert und als Bibliothek (.lib) dem Linker übergeben.
typen: NEAR,FAR,ABS,BYTE,WORD,...

.MODEL SMALL
-
-
Aufruf: CALL MYPROC

Far Labels können an beliebiger Stelle stehen, Daten im Datensegment.

Im Unterprogramm:

Zuerst: PUBLIC MYPROC

damit Kompiler weiß, dass myproc nicht in dieser Datei ( = lokal), sondern extern verwendet wird. Public können auch Variable, mit equ zugewiesene Konstante oder Marken sein.

.MODEL SMALL
-
-

Weitere freie Tutorials: Rhetorik & Kommunikation Typografie & Layout Bildbearbeitung mit Photoshop oder GIMP Vektorgrafik mit Illustrator, FreeHand, Corel Draw oder Inkscape Layout mit Indesign oder Scribus Druckvorstufe GoLive Html JavaScript Flash & ActionScript Director & Lingo Assembler DOS Java objektorientiert Perl Word Excel Access PowerPoint Outlook Betriebssystem