Endlosschleife und Längenfunktion in allegro

Thomas Fischer fischer at mail.sub.uni-goettingen.de
Mo Dez 13 08:49:21 CET 1999


Liebe Liste,

ich habe zwei Probleme in der Linux-Version von Allegro gefunden,
vielleicht geht es anderen ja auch so:

1. Die Schleife
#-s				
#usu e' ' p'|2' P{8}  	ersten Teil von <su> in Register 2 speichern
#usu +s b' ' =su e0  	ersten Teil von <su> entfernen, weiter bei #-s

funktioniert unter DOS, produziert aber eine Endlosschleife in Linux, wo
das Programm dann mit "Zuwenig Arbeitsspeicher" aussteigt. Der
Abschneidebefehl scheint hier nicht mit dem letzten Buchstaben zu
funktionieren: Wenn das gesuchte Zeichen das letzte im Ausdruck ist, wird
der Buchstabe gefunden, aber nicht dahinter abgeschnitten und so die
Variable su gelöscht. Das gilt wohl allgemein, dasselbe Problem hatten wir
mir b'/'.

Abhilfe bringt ein F32 (Enferne am Ende ASCI 32 = Leerzeichen ):
#-s				
#usu e' ' p'|2' P{8}  	ersten Teil von <su> in Register 2 speichern
#usu +s F32 b' ' =su e0  	ersten Teil von <su> entfernen, weiter bei #-s
Damit wird ein letztes Leerzeichen gelöscht und die Schleife bricht ab.

2. Die Längenfunktion lxy produziert unter DOS keine Anzeige (wie =xy und
axy etc.)
#ubw lbw 			Länge nehmen
speichert die Länge der Variablen bw in der
Variablen bw und sonst nichts.
Unter Linux wird zusätzlich der Wert von bw ausgegeben. Das muß extra
gestoppt werden, wenn es nicht gewünscht ist:
#ubw lbw e0 			Länge nehmen
funktioniert.


Mit besten Grüßen,
Thomas Fischer




Dr. Thomas Fischer
Projekte SSG-FI (http://www.sub.uni-goettingen.de/ssgfi/)
und VLIB (http://www.sub.uni-goettingen.de/vlib/)
Niedersächsische Staats- und Universitätsbibliothek
 – Historisches Gebäude –
Papendieck 14
D-37073 Göttingen
Germany
Tel.: (+49) 0551-39-3883





Mehr Informationen über die Mailingliste Allegro