von Norbert Schlia Erklärungen zu den ASM-Utilities ================================ Auf dieser Diskette sind drei Include- Dateien aus den geheimnisvollen Tiefen meiner Tooldisk. Wie üblich sind sie im BIBO-Assemblerformat. RANDOM.INC ---------- Hiermit kann man eine Zufallszahl er- zeugen, die im Bereich 0 < Zahl <= Grenze <= 255 liegen kann, je nach dem, wie man das benötigt. Will man eine Zahl mit mehr als 8 Bits, muß man RANDOM mehrmals aufrufen. Für die niedrigeren Bytes setzt man die Grenze dann auf 255. OUTPUT.INC ---------- sind neue, sehr schnelle Ausgabe-Routi- nen für einzelne Buchstaben und ganze Texte. PUTCHR gibt ein einziges Zeichen aus. Es werden keine Steuercodes ausgeführt, auch nicht EOL (155). PRINT gibt eine ganze Textzeile aus. Es werden einige Steuercodes ausgeführt. Der Text muß direkt hinter dem Aufruf durch JSR stehen und mit $FF=255 enden. Der Programmablauf wird dann mit dem Kommando hinter dem $FF fortgesetzt. Beispiel: ... laufender Programmcode JSR PRINT .AS "Hier steht der Text." .HX FF ... Fortsetzung des Programms Ausgeführt werden folgende Codes: Funktion Wert Cursor hoch 28 Cursor runter 29 Cursor links 30 Cursor rechts 31 Bildschirm löschen 125 Neue Zeile 155 Cursor Home 254 Außerdem kann auch man direkt folgende Funktionen anspringen: DSPASC Displaycode im Akku zu ASCII. ASCDSP ASCII zu Displaycode. NEWLIN Cursor in neue Zeile. SCROLL Bild eine Zeile scrollen. CLRSCR Bildschirm löschen. CRSHOM Cursor in Home-Position (POSITION 0,0). POS Cursor in X,Y-Position setzen. Kleine Anmerkung: Die Ausgabesoftware arbeite problemlos mit den Betriebssy- stemvariablen. Beim zurückwechseln in die normalen Routinen gibt es aber manchmal Schwierigkeiten. Deshalb soll- te man nur eine Sorte benutzen. INPUT.INC --------- Dieser Programmteil benötigt PUTCHR aus dem OUTPUT-File oder vom Betriebssy- stem. GETCHR wartet auf das Drücken einer Taste und liefert ihren ASCII-Wert im Akku. Der Cursor blinkt dabei. GETLIN liest eine Zeile ein. Wie lang die Zeile ist, muß im Akku übergeben werden. Der blinkende Cursor kann nicht aus der vorgegebenen Zeile herausbewegt werden. An das Ende der Zeile wird ein EOL an- gefügt. Manchmal ist es praktischer, wenn stattdessen das letzte Zeichen in- vertiert ist. Dazu muß man nur die vor- gegebenen Änderungen vornehmen. GETNUM liest eine Dezimalzahl zwischen 0 und 65535 ein. Falsche Eingaben und zu große Werte werden durch ein gesetz- tes Carry-Bit angezeigt. ESCON belegt die Escape-Taste. Die Ad- resse, zu der gesprungen werden soll, wenn Escape gedrückt wird, muß in A und X übergeben werden. A=Low-Byte, Y=High-Byte. KEYDEF ist die Tastaturbelegungstabel- le. Selbstverständlich kann auch die im Betriebssystem-ROM verwendet werden, aber diese hat den Vorteil, daß sie nach Belieben geändert werden kann. DEZ24.INC --------- Hiermit kann man eine 8,16 oder 24-Bit- Zahl im Dezimalformat ausgeben. CHRSET.FNT ---------- ist ein spezieller Zeichensatz, dessen Zeichenvorrat auf den IBM-Internatio- nal-Zeichensatz von EPSON-Druckern ab- gestimmt ist. So, das war's für dieses USER-MAG (CSM). Vielleicht überarbeite ich noch einige andere Utilities zur Veröffent- lichung. Bis dahin viel Glück mit diesen.