%META:TOPICINFO{author="CarstenStrotmann" date="1042563720" format="1.0" version="1.2"}%
<H1>BIBO Assembler Handbuch</H1>

_in Bearbeitung_

Die Informationen im vorliegenden Handbuch w erden ohne Rcksicht auf einen eventuellen Patentschutz-verffentlicht. Warennamen werden ohne Gewhrleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit grter Sorgfallt vorgegangen. Trotzdem knnen Fehler nicht vollstndig ausgeschlossen werden. Die Autoren und Herausgeber dieses Handbuches knnen fr fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung bernehmen. Fr Verbesserungsvorschlge und Hinweise auf Fehler sind die Autoren dankbar.

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherrung in elektronischen Medien sowie der bersetzung in fremde Sprachen. Die gewerbliche Nutzung der in diesem Handbuch gezeigten Modelle, Programme und Arbeiten ist nur mit der ausdrcklichen Genehmigung der Autoren erlaubt.

BIBO-ASSEMBLER HANDBUCH
(c) 1986 Compy-Shop Ohg, 43,30 Mlheim Ruhr
Alle Rechte vorbehalten

%TOC%

---+ VORWORT

Viele Leute fragten uns immer wieder nach dem Assembler, mit dem unsere Programme geschrieben wurden, und wollten diesen Assembler auch kaufen. Nun denn, hier ist er.

Mit dem BIBO- ASSEMBLER wurden fast alle unsere Programme geschrieben, so zum Beispiel der 16K BIBOMON, die SPEEDY 1050 oder die COMPY-SHOP Grafikdemo's von Peter Sabath.

Auf den vielfachen Wunsch vieler unserer Kunden, haben wir nun diesen Assembler auch fr alle ATARI Computer Besitzer nutzbar gemacht.

Was Ihnen hier nun vorliegt ist die Disketten Version des BIBOASSEMBLER's. Um mit diesem Assembler arbeiten zu knnen, brauchen Sie einen ATARI Computer der Serien 400/800, 600XL/800XL oder 80OXE/13OXE. Sie bentigen mindestens ein Diskettenlaufwerk und mindestens einen 48K groen Arbeitsspeicher. Haben Sie einen Computer der mit einer RAMDISK versehen ist, so kann der BIBOASSEMBLER auch mit dieser RAMDISK arbeiten. Sie werden feststellen, das die Assemblierungszeiten, wenn Sie mit einer RAMDISK arbeiten, verschwindend gering sind.

Ein Wort noch zu Raupkopien. Der Assembler wird auf einer unaeschtzten Diskette als File geliefert. Wir haben den Preis des BIBO- ASSEMBLER's sehr niedrig anaesetzt. Gemessen an seinen Leistungen knnte er durch aus wesentlich mehr kosten. Wir haben alles in allem ca. 4 Monate intensive Arbeit in die Erstellung dieser Version gesteckt. Kaufen Sie deshalb keine Raupkopien! Raupkopierer schaden nicht nur uns, sondern auch Ihnen, da wir keine Hard- oder Software mehr entwickeln wrden, sollten zu viele Raupkopien im Umlauf sein.

Raupkopierer	knnen Ihnen auch keine Update Garantien bieten, so wie wir das machen!

Denken Sie daran, wenn Ihnen eine Raupkopie angeboten wird!


---+ EINLADEN UND- STARTEN

Wie bereits gesagt, wird der BIBO- ASSEMBLER auf einer unaeschtzten Diskette als File geliefert. Sie sollten also als erstes eine Arbeitsdiskette erstellen.

Dazu knnen Sie einmal eine Kopie der Original Diskette benutzen, oder Sie knnen den BIBO- ASSEMBLER mit jedem DOS Ihrer Wahl benutzen. Was finden Sie nun alles auf der BIBOASSEMBLER Masterdiskette?

Mit dem BIBO- ASSEMBLER erhalten Sie das BIBO-DOS auf der BIBOASSEMBLER Masterdiskette. Dieses BIBO-DOS ist kompatibel zum ATARI DOS 2.5. Die gesamte BIBO- ASSEMBLER Masterdiskette ist in DOS 2.0 Format beschrieben.

BIBO-ASSEMBLER ARBEITSDISKETTE MIT BIBO-DOS

Kopieren Sie zuerst einmal die BIBO- ASSEMBLER Masterdiskette. Das entsprechende Kopierprogramm befindet sich auf der BIBOAssembler Masterdiskette. Es trgt den Namen "SCOPY.COM". Sie knnen es vom BIBO-DOS aus mit der Funktion "L" aufrufen.

Benutzen Sie eine Kopie der BIBO- ASSEMBLER Masterdiskette zusammen mit einem XL oder XE Computer, mssen Sie vor dem Booten der Diskette die OPTION Taste drcken.

Benutzen Sie den BIBO- ASSEMBLER mit einem Computer der Serien 400/800, sorgen Sie bitte vor dem Booten dafr., da kein Steckmodul mehr im Schacht ist.

---+ DER EDITOR

Bei dem Editor des BIBO- ASSEMBLERS handelt sich es um einen sogenannten Zeileneditor. Den Zeileneditor kennen Sie sicher schon vom Basic her.

Hier mu vor jeder Zeile eine Zeilennummer stehen, die Werte innerhalb vorgeschriebener Grenzen annehmen kann. soll eine Zeile in das Listing eingefgt werden, wird einfach eine Zeilennummer zwischen der vorherigen und der nachfolgenden Zeile eingegeben und schon befindet sich die Zeile an der gewnschten Stelle. Dies geht natrlich nur, wenn vorher die Abstnde der Zeilennummern zueinander gro genug gewhlt wurde. In der Regel wird ein Abstand der Zeilennummern zueinander von 10 benutzt, damit nachher noch bequem 9 Zeilen eingefgt werden knnen.

Die gesamte Bedienung des BIBO- ASSEMBLER Editors hnelt also sehr dem Editor des AtariBasic. Der BIBO- ASSEMBLER besitzt allerdings einige sehr ntzliche Funktionen, die Ihnen der Editor des Standart Atari-Basic nicht bietet. Dies sind zum Beispiel Funktionen wie das automatische numerieren und neunumerieren von Zeilen, suchen und austauschen von Zeichen,-kopieren, verschieben und lschen von einzelnen Zeilen oder ganzen Zeilenblcken .

Die innere Struktur des BIBO- ASSEMBLERS sieht keine Eingabe von inversen Zeichen vor. Eine Ausnahme besteht allerdings bei der Eingabe von Texten die in Anfhrungszeichen (z.B. "TEXT") eingeschlossen sind. Hier sind auch Inverszeichen zugelassen. Auch den CHRS(O), das ist das "HERZCHEN" darf nicht eingegeben werden. Falls Sie dieses ASCII Zeichen dennoch bentigen sollten, benutzen Sie bitte die folgende Syntax:

.HX 00 ; Entspricht dem ASCII Zeichen fr den Wert Null

Die Speicherverwaltuna des Editors im BIBO- ASSEMBLER sieht fr die Zeilennummer jeder Zeile zwei Bytes im Speicher vor. Damit sind theoretisch Zeilennummern von 0 bis 65535 (2-16) mglich. Aus programmtechnischen Grnden ist die Obergrenze allerdings auf 64000 festgelegt, was aber keinen groen Verlust bedeutet. Ein Assemblerlisting mit 64000 Zeilen ist schon utopisch und nur bei Programmen auf Grorechneranlagen mglich. Andererseits wrden diese Unmenge an Zeilen gar nicht in einen 64k Speicher eines 6502 Mikroprozessorsystems passen.

Um alle Funktionen des Editors des BIBO- ASSEMBLER genau kennenzulernen, empfehlen wir, den Assembler in Ihren Rechner einzuladen und alle hier im Handbuch erklrten Funktionen gleich praktisch zu erproben.

Nach dem Einladen des BIBO- ASSEMBLERS in Ihren Rechner meldet sich der Editor mit:

Edit>

Von hier aus haben Sie die Kontrolle ber alle Funktionen des Editors und des Assemblers. Sie knnen Kommandos im Direktmodus (LIS, DIR, MON...) oder Zeilennummern mit den entsprechenden Labels und Opcodes eingeben.

Alle Kommandos bestehen aus 3 Zeichen oder deren Abkrzungen. Werden mehr als 3 Zeichen eingegeben, wird das 4. Zeichen schon als Zusatz erkannt. Beispiel:

LIST

Der Befehl LIS wird richtig erkannt. der Editor sucht aber nach dem Label 'T'. dem 4. Buchstaben. Ein groer Teil der Befehle kann auch durch den ersten Buchstaben und nachfolgendem Punkt abgekrzt werden:

L.		- LIS

Geben Sie nun zunchst einmal ein:

SIZ		<RETURN>

<RETURN> werden wir im folgenden nicht mehr erwhnen, es sollte selbstverstndlich sein, nach jeder Eingabe die RETURN-Taste zu bettigen.

Der BIBO- ASSEMBLER zeigt Ihnen nun die belegten Speicherbereiche an. Da Sie noch nichts eingegeben haben ist die Lnge von Source- Data, also die Lnge des Programmlistings gleich Null. Die Anfangs- und Endadressen sind gleich. Diese Werte sind brigens in Hexadezimaler Form angegeben. Jeder. der sich mit Assemblerprogrammierung beschftigt, sollte sich schnell mit Hexadezimalzahlen vertraut machen. Die einzigen Zahlen in diesem Assembler, die nie Hexadezimal werden knnen, sind die Zeilennummern.

Wir wollen nun ein paar Zeilen eingeben um die Funktionen des Editors praktisch auszuprobieren.



Der Editor verfgt ber eine automatische Zeilennumerierung. Das heit, Sie mssen nicht immer die Zeilennummer von Hand eingeben. das macht alles der Editor fr Sie. Drcken Sie einfach die Taste <TAB> und Sie knnen Ihre erste Zeilennummer sehen:

Edit> 00010

Der Cursor wird hier durch den Unterstrich (-) dargestellt.

Geben Sie weiter ein:

00010 START		LDA #0

Sie knnen nach dem Label 'START' einfach wieder die <TAB> Taste bettigen, ebenso nach dem Opcode LDA. So wird das Listing automatisch bersichtlich formatiert. Ein paar Worte noch zu den Labeln. Ein Label ist eine Markierung im Programm, mit der Sie einer Unterroutine einen Namen aeben knnen, und diesen Namen auch mit einem Sprungbefehl "anspringen" knnen. Fr diese Label `wurde eine maximale Lnge von 8 Zeichen reserviert. Sie knnen fr ein Label aber auch mehr als 8 Zeichen einaeben (maximal 128), dies ist allerdings nicht sehr sinnvoll und bentigt sehr viel Speicherplatz. Erfahrungsgem reicht die Verwendung von 6 Zeichen fr ein Label.

brigens: Es macht keinen Unterschied im Speicherbedarf einer Zeile ob Sie zwischen dem Label (START) und dem Opcode (LDA) einen oder mehrere Leerschritte eingeben.

Nach drcken der RETURN-Taste knnen Sie nun wieder die TAB-Taste bettigen und schon erscheint die nchste Zeilennummer, und sie knnen die nchste Zeile einaeben.

00020	STA $2C6

Wie sie sehen, knnen Sie stndig die TAB-Taste bettigen, um Ihr Proaramm formatiert und damit bersichtlich einzugeben. Die neue Zeilennummer erscheint nach bettigen der TAB-Taste nur, wenn Sie vorher die RETURN-Taste aedrckt haben. So kann man leicht mit den Cursor Steuertasten auf eine auf dem Bildschirm sichtbare Zeile aehen und mit der Tab-Funktion die richtige Stelle erreichen.

Vergessen Sie aber nicht nach nderung der Zeile wieder die RETURN-Taste zu bettigen um diese Zeile in das Programmlisting zu bernehmen.

Wem diese Art der automatischen Zeilennumerierung nicht gefllt, kann auch eine automatische Numerierung ohne da man die Tab-Taste bettigen mu aktivieren. Der Befehl hierzu lautet:

Syntax:	NUM <Abstand>,<erste Zeile>
(von Number)
Beispiel:	NUM 20,1000

Hiermit wird nach Eingabe einer Zeile und Bettigung der RETURN-Taste automatisch die nchste Zeilennummer ausgegeben. Der Abstand zur vorherigen Zeilennummer wird mit einer Zahl hinter dem Befehl NUM angegeben. Nach einladen des BIBOASSEMBLERS ist dieser Abstand automatisch auf 10 eingestellt. Wird noch eine zweite Zahl, getrennt durch ein Komma, eingegeben wird hierdurch festgelegt mi t welcher Zeilennummer die automatische Numerierung beginnen soll. Wird keine der beiden Zahlen eingegeben, wird ein Abstand von 10 festgesetzt und die Numerierung beginnt mit der Zeile 10 oder mit der Zeile an der die Funktion vorher abgebrochen wurde. Ein Abbruch der NUM-Funktion ist jederzeit mit der BREAK-Taste mglich. Um die Auto-Number Funktion wider zu aktivieren, mu auch wieder NUM eingegeben werden.

Falls Sie es aber vorziehen die Numerierung mit der TAB-Taste zu benutzen, (an diese gewhnt man sich erfahrungsgem sehr schnell und mchte sie nicht mehr vermissen), knnen Sie auch hierfr den Abstand der Zeilennummern zueinander einstellen. Nach dem einladen des BIBO- ASSEMBLERS ist auch dieser Abstand fest auf 10 mit der Anfangszeile 10 eingestellt. Der Befehl um diese Wette zu ndern lautet:

Syntax:	INC <Abstand>,<erste Zeile>
(von Increment, Erhhung)
Beispiel:	INC 20,1000

Der Abstand der Zeilennummern zueinander kann Von 1 bis 255 eingestellt werden. Wird der Abstand weggelassen, wird automatisch der Abstand 1 gewhlt. Diesen bentigt man des fteren um Zeilen einzufgen. Wird zustzlich zum Zeilenabstand noch eine weitere Zahl eingegeben, kann dadurch die erste Zeilennummer festgelegt werden, die bei drcken der TAB-Taste als nchstes ausgegeben werden soll.


Whrend der Eingabe von Zeilen in ein Assemblerlisting kann es immer wieder vorkommen, da eine einzelne oder auch mehrere Zeilen gelscht werden sollen. Wie beim BASIC Editor wird durch alleinige Eingabe einer Zeilennummer wird die zu dieser Nummer aehrende Zeile gelscht. Sollen mehrere Zeilen gleichzeitig gelscht werden, empfiehlt sich die Benutzung des Befehles:

Syntax:		DEL <erste Zeile>,<letzte Zeile>
(von delete, auslschen)
Beispiel:		DEL 100,1000

Hierdurch werden alle Zeilen zwischen der Zeile 100 und der Zeile 1000 gelscht. Die Zeilen mit der Nummer 100 oder 1000 mssen dabei selbst nicht vorhanden sein. Wird die letzte Zeilennummer weggelassen, wird natrlich auch nur die Zeile gelscht, dessen Nummer mit der ersten Zeilennummer bereinstimmt. Sind einmal Zeilen mit dieser Funktion gelscht worden, knnen diese nicht mehr zurckaeholt werden. Achten Sie also vorher darauf. welche Zeilen Sie lschen wollen.

Wollen Sie den kompletten Speicher lschen gibt es hierfr auch einen Befehl:

NEW

Hierdurch werden alle fr den BIBO- ASSEMBLER wichtige Speicherstellen neu initialisiert, der HIMEM-Zeiaer auf die hchste und der LOMEM-Zeiger auf die niedrigste freie Speicherstelle gesetzt und der Zeilenincrement (INC) auf 10,10 gesetzt.

Bevor wir zur weiteren Beschreibung der einzelnen Befehle des BIBO- ASSEMBLERS kommen, erklren wir hier erst einmal die Eingabesyntax des Assemblers:

| A | B  | C | D | E |
| 100010 | LABEL | LDA | $4567 | Bemerkung |

	* A	- Zeilennummer: Kann werte von 0 bis 64000 annehmen. mu nicht 5-stellia eingegeben werden, wird allerdings beim Listen immer auf 5 Stellen aufgefllt.
	* B - Label: Kann 1 bis 128 Zeichen lang sein. Das 1. Zeichen mu immer ein Buchstabe sein (Ausnahme Local Label). Der Label mu direkt oder maximal 1 Leerschritt nach der Zeilennummer eingegeben werden.
	* C	- Opcode: Besteht immer aus 3 Zeichen, dem 65(C)02 Opcode oder einem Pseudo-Opcode bestehend aus einem Punkt und zwei Buchstaben. Mu mindestens 2 Leerschritte von der Zeilennummer oder 1 Leerschritt vom Label entfernt eingegeben werden.
	* D - Zusatz: Adressangabe, Wert oder Filename. Mu direkt oder maximal 1 Leerschritt nach dem Opcode eingegeben werden.
	* E - Erklrung: Hier knnen alle Zeichen verwendet werden. Mu zur. Opcode (C) mindestens 2 Leerschritte oder dem Zusatz (D) mindestens 1 Leerschritt entfernt sein.

Die gesamte Zeile darf maximal 128 Zeichen lang werden.

Beachten Sie: Viele Erklrungen verbessern zwar die bersicht ber ein Assemblerlisting, sind aber auch sehr Speicherintensiv und verlngern die Assemblierzeit. Sie sollten deshalb bei langen Assemblerlistings sehr kurz gehalten werden.


Wie im Basic knnen Sie auch im BIBO- ASSEMBLER Remarks (Erklrungen) einfgen, die eine ganze Zeile belegen. Hierfr mu direkt oder maximal ein Leerschritt hinter der Zeilennummer ein Semikolon (;) oder Sternchen (*) eingegeben werden. Diese Zeile wird beim assemblieren einfach bersprungen.

Beispiel:

00100	; Alle Zeichen hinter dem Semikolon gelten als Erklrung
00200	* Auch ein Sternchen kann benutzt werden

Um verschiedene Programmteile voneinander zu trennen, knnen Sie Leerzeilen einfgen, indem Sie nur ein Semikolon oder Sternchen hinter der Zeilennummer eingeben. Die elegantere Lsung hierfr ist, eine Trennzeile einzugeben.

Wird direkt hinter der Zeilennummer ein Minus-Zeichen (-) eingegeben, wird nachher beim Listen diese Zeile komplett mit dem Minus-Zeichen gefllt.

Beispiel:

Eingabe:

02000 -

Daraus wird beim Listen:

02000 ------------------------------------

Um die folgenden Funktionen direkt praktisch auszuprobieren empfehlen wir ein kurzes Listing aus dem Anhang abzutippen.

Einer der wichtigsten Befehle des BIBO- ASSEMBLERS ist der LIST-Befehl. Hiermit kann das einmal eingegebene Listing gesamt oder nur zum Teil wieder auf dein Bildschirm dargestellt werden.

Syntax:	LIS <erste Zeile>,<letzte Zeile>
(von Listen)
Beispiel:	LIS 100,100

Dieser Befehl kann als L. abgekrzt werden.

Das Listing kann durch control-1 angehalten und fortgesetzt werden. Mit der BREAK-Taste wird das Listing abgebrochen. Wird nur LIS oder L. eingegeben wird das gesamte Listing von der ersten bis zur letzten Zeile auf dem Bildschirm aufgelistet.

In unserem 1. Beispiel werden die Zeilen von 100 bis 1000 gelistet. Soll nur eine einzelne Zeile gelistet werden, wird die letzte Zeile weggelassen:

LIS 1000

gibt nur die Zeile mit der Nummer 1000 (falls vorhanden) aus. Wird hinter der Zeilennummer ein Komma gesetzt:

LIS 1000,

werden alle Zeilen beginnend ab Zeile 1000 bis zum Ende des Listings ausgegeben. Eine weitere sehr ntzliche Funktion des Listbefehles ist das Listing ab einem angegeben Label ausgeben zu lassen:

LIS START

Das Listing wird nach den Label START abgesucht und falls vorhanden, beginnend mit dieser Zeile bis zum Ende des Programms aufaelistet. Der Label mu auf jeden Fall vollstndig vorhanden sein. Bei einer Eingabe von LIS STAR oder LIS STARTER wird die Zeile mit dem Label START nicht gefunden.

Das vollstndige Listing kann mit folgender Funktion nach Zeichenfolgen abgesucht werden:

Syntax:	FIN <Zeichenkette>
(von find, finden)
Beispiel:	FIN LDA

In unserem Beispiel wird das gesamte Listing nach der Zeichenkombination 'LDA' abgesucht und, falls vorhanden, die Zeile in der sich diese Kombination befindet auf dem Bildschirm ausgegeben. Ist eine Buchstabenkombination in einer Zeile mehrfach vorhanden., wird diese Zeile nur einmal ausgegeben.

Als erweiterte Suchfunktion haben Sie die Mglichkeit, die gefundene Zeichenfolge gegen eine neue Zeichenfolge auszutauschen:

Syntax:		REP "<Zeichenkette>"<Zeichenkette>"
(von replace, austauschen)
Beispiel:		REP "LDA"LDX"

Hier werden alle Buchstabenkombinationen 'LDA' gegen 'LDX' ausgetauscht und die entsprechende Zeile auf den Bildschirm dargestellt. Statt der Anfhrungszeichen knnen auch andere Zeichen (.

benutzt werden, wichtig ist nur, da in einer Eingabezeile immer das gleiche Trennungssymbol benutzt wird. Der BIBOASSEMBLER bentigt diese Zeichen um den Anfang und das Ende eines Strings (Buchstabenkombination) zu erkennen. Soll also ein Anfhrunaszeichen selbst ausgetauscht werden, mu als Trennzeichen natrlich ein anderes Zeichen verwendet werden.

Mit der obigen Funktion werden alle Zeichenketten in dem Listing ausgetauscht. Es besteht aber auch die Mglichkeit, einzelne Zeilen zu ndern.

Hinter dem letzten Trennungszeichen geben Sie einfach ein Fragezeichen ein:

REP "LDA"LDX"?

wird in einer Zeile die Buchstabenkombination 'LDA' gefunden, wird diese auf dem Bildschirm ausgegeben und der Austauschvorgang angehalten. Der Cursor bleibt hinter dieser Zeile stehen und der Editor wartet auf eine Eingabe des Benutzers, ob diese Zeile gendert werden soll. Durch bettigen der RETURN-Taste wird nun 'LDA' gegen 'LDX' ausgetauscht und die genderte Zeile wieder auf dem Bildschirm dargestellt. Soll die Zeile unverndert bleiben, drcken Sie einfach die SPACE-Taste oder 'N'. Ein abbrechen der Austauschfunktion ist mit der ESC-Taste mglich.

ACHTUNG: Da der Editor normalerweise keine Inversen Zeichen annimmt, knnen diese auch mit der Replace-Funktion nicht ausgetauscht werden. Diese Zeilen mssen einzeln aufgelistet und gendert werden. Die maximale Lnge der Austauschstrings ist auf 64 Zeichen begrenzt.

---++ Kopieren und Verschieben von Zeilen:

Einzelne oder mehrere Zeilen knnen dupliziert werden. Der Befehl hierzu lautet:

Syntax:	COP (nach Zeile>,<von Zeile>,<bis Zeile>
(von copy, kopieren)
Beispiel:	COP 1000.100.200

In unserem Beispiel werden alle Zeilen zwischen 100 und 200 an die Position vor die Zeile 1000 kopiert. Diese Zeilen sind jetzt also doppelt vorhanden. Um Probleme mit der Zeilennumerierunq auszuschlieen. wurde nach dem Copy-Befehl automatisch ein Renumber durchgefhrt.

Sollen wie im oberen Beispiel die Zeilen verschoben werden, also an die neue Stelle kopiert, aber an der ursprnglichen Stelle gelscht werden, wenden Sie folgenden Befehl an:

Syntax:	MOV <nach Zeile>,<von Zeile>,<bis Zeile>
(von move, verschieben)
Beispiel:	MOV 1000,100,200

Fr diesen Befehl gilt die gleiche Syntax, wie fr den CopyBefehl, nur werden hier die ursprnglichen Zeilen 100 bis 200 gelscht nachdem sie vor die Zeile 1000 kopiert wurden. Auch hierbei wird ein automatisches Renumber durchaefhrt. Soll nur eine einzelne Zeile verschoben oder kopiert werden kann die dritte Zeilennummer (bis Zeile) weggelassen werden.

Beispiel:	COP 1000,300

MOV 100,1000

Bei den beiden vorher besprochenen Befehlen wurde bereits der Renumber angesprochen. Hierbei wird das Programmlistinq neu durchnumeriert. Dies ist auf jeden Fall immer bei den Befehlen MOVE, COPY und bei der noch spter beschriebenen Funktion MERGE notwendig und wird deshalb nach Beenden der Funktion automatisch durchgefhrt.

Nun kann es bei der Eingabe eines Programmlistings schon einmal vorkommen, da man zwischen zwei Zeilen noch mehrere Zeilen einfgen mchte, aber nicht gengend Zeilennummern zur Verfgung stehen. Fr diesen Zweck knnen Sie das Programm manuell neu durchnumerieren.

Syntax: REN (von renumber, neu numerieren)

Mit diesem Befehl wird das vollstndige Listing beginnend mit der Zeilennummer 10 in Zehnerschritten neu durchnumeriert. Sie knnen auerdem die Anfanaszeilennummer und die Schrittweite der einzelnen Zeilen bestimmen, wenn Sie folgendes eingeben:

Syntax:		REN <1. Zeilennummer>,<Schrittweite>
Beispiel:		REN 1000,20

Hierbei wird in 20er Schritten beginnend mit der Nummer 1000 durchnumeriert. Sollte durch eine zu hohe Schrittweite oder Anfangsnummer whrend des Renumber- Vorganges die Zeilennummer 64000 berschritten werden, wird der Renumber abgebrochen und eine Fehlermeldung ausgegeben. Da hierbei schon ein Teil des Programmes neu numeriert wurde, sind die Zeilennummern unter Umstnden nicht mehr in der richtigen Reihenfolge vorhanden. Im vorderen Teil des Listings knnen die Nummern hher sein als im hinteren. Solange in diesen Zeilen nichts gendert wird, ndert sich auch nichts an der Reihenfolge der Zeilen. In diesem Fall sollte auf jeden Fall das Programmlisting noch einmal mit einer kleineren Schrittweite oder Anfangsnummer neu durchnumeriert werden, bis diese Fehlermeldung nicht mehr auftritt.

Die Renumber-Funktion eignet sich auch sehr gut um greren Platz zwischen zwei Zeilen zu schaffen, ohne da eine groe Schrittweite gewhlt werden mu. Angenommen, Sie wollen ab Zeile 1000 einen Programmteil eingeben, wissen allerdings noch nicht genau wie lang dieser Teil werden soll, mssen also alle dahinter liegenden Zeilen mit einer neuen Anfangsnummer durchnumerieren.

Das geschieht durch Eingabe einer dritten Zahl hinter dem Kommando REN:

Syntax:	REN <1. Zeilennummer>,<Schrittweite>,<Startzeile>
Beispiel:	REN 5000,10,1000

Das Listing wird erst ab der Zeile 1000 neu durchnumeriert, der Progrrammteil vor dieser Zeile bleibt unberhrt. Die Zeile mit der Nummer 1000 erhlt somit die Nummer 5000, alle dahinter liegenden Zeilen werden mit der Schrittweite 10 neu numeriert. Jetzt haben Sie Ihr Ziel erreicht, zwischen 1000 und 4999 haben Sie genug Platz um Ihr neues Programmteil einzufgen. 
ACHTUNG: Die 1. Zeilennummer des neu zu numerierenden Programmteiles mu auf jeden Fall hher sein als die Startzeile. Wird diese Vorschrift nicht eingehalten, kann es vorkommen, da Zeilennummern in die falsche Reihenfolge gebracht werden.





-- Main.CarstenStrotmann - 14 Jan 2003
