Überblick

PocketASM ist ein mächtiger Editor zur Entwicklung von Pocket-Computer-Software.

Viele nützliche Features wie Sprachdateien, Autovervollständigen, Mnemonicbeschreibung beim Tippen, Makros, Senden und Empfangen über die serielle Schnittstelle und Umrechner für die verschiedenen Zahlenformate vereinfachen das Programmieren sehr. Der Assembler von Laurent Duveau erzeugt endgültig die Maschinensprache. Dieser Code ist für 8 Bit Sharp Pocket Computer mit der SC61860 CPU bestimmt.

Das Programm ist Freeware und kann ohne Veränderungen weitergeben und kopiert werden! Über neue Sprachen, zusätzliche Makros und Mnemonic-Sets freuen sich Benutzer aber bestimmt!

Ich freue mich aber auch über Bughinweise, Verbesserungsvorschläge, Lob und Geschenke!

Ein Klick auf Kontakt genügt!


Menü Datei

Das Menü Datei

  • Neu (Strg+N): Erstellt eine leere Datei. Die vorherige Datei wird geschlossen, wenn sie schon gespeichert wurde. Andernfalls fragt PocketASM nach ( [image] Meldungen).
  • Öffnen... (Strg+O): Öffnet eine vorhandene Datei. Die vorherige Datei wird geschlossen, wenn sie schon gespeichert wurde. Andernfalls fragt PocketASM nach. ( [image] Meldungen)
  • Speichern (Strg+S): Speichert die aktuelle Datei unter ihrem Namen. Wird eine neu erstellte Datei zum ersten Mal gespeichert, kommt der Speichern-unter-Dialog. ( [image] Dialoge)
  • Speichern unter... (Strg+U): Öffnet den Speichern-unter-Dialog und ein anderer Name kann eingegeben werden. Existiert eine Datei mit gleichem Namen, fragt PocketASM nach, ob die bereits vorhandene Datei überschrieben werden soll ( [image] Meldungen).
  • Drucken... (Strg+P): Öffnet den Drucken-Dialog, mit dem die aktuelle Datei als Text ausgedruckt werden kann ( [image] Dialoge).
  • Sprache (Strg+L): Öffnet die Sprachauswahl ähnlich wie Datei öffnen. Eine Sprachdatei kann nun ausgewählt werden ( [image] Dialoge). Die Sprachdateien lassen sich leicht übersetzen, so kann man PocketASM an seine Muttersprache anpassen!
  • Pocket Computer:
    Erlaubt die Auswahl des Pocket-Computer-Modells.
  • Ende (Alt+F4): Beendet das Programm (Fragt gegebenenfalls nach, ob die aktuelle Datei gespeichert werden soll. Meldungen)

Nach oben


Menü Bearbeiten

Das Menü Bearbeiten

  • Rückgängig (Strg+Z): Macht die letzte Veränderung am Text rückgängig. Vorsicht bei Aktionen, die den gesamten Text betreffen (RENUM, Assemblieren, Disassemblieren, etc)! Sie können meist nicht rückgängig gemacht werden.
  • Ausschneiden (Strg+X): Schneidet den markierten Text aus und speichert ihn in der Zwischenablage von Windows.
  • Kopieren (Strg+C): Kopiert den markierten Text in die Zwischenablage.
  • Einfügen (Strg+V): Fügt den Text aus der Zwischenablage an der Stelle mit dem Cursor ein.
  • Löschen (Entf): Löscht den markierten Text, ohne ihn irgendwo zu speichern.
  • Alles markieren (Strg+A): Markiert alles.
  • Zeilenumbruch: Stellt den Text so dar, dass Wörter, die über den rechten Rand des Fensters hinausgehen würden, in der nächsten Zeile erscheinen.
  • Schriftart...: Öffnet den Schriftart-Dialog ( [image] Dialoge)
  • Assembler Modus: Schaltet PocketASM in den Assemblermodus. Das bedeutet, dass Befehle als Assemblercode interpretiert werden und Vervollständigen, Speichern, Assemblieren, Befehlsbeschreibungen, etc. entsprechend angepasst werden.
  • BASIC Modus: Schaltet PocketASM in den Basicmodus. Das bedeutet, dass Befehle als Assemblercode interpretiert werden und Vervollständigen, Speichern, Assemblieren, Befehlsbeschreibungen, etc. entsprechend angepasst werden.
  • Befehlsbeschreibung: Schaltet die Befehlserklärungen in der Statuszeile an oder aus. Das kann bei langsamen Rechnern die Leistung von PocketASM verbessern.
  • Auto Vervollständigen: Schaltet die Befehlsvervollständigung an oder aus. Diese Funktion versucht eingegebene Befehle zu erkennen und stellt den Rest als Markierung dar. Im Basicmodus entspricht die Vervollständigung der Pocket-Computer-Befehlsabkürzung (Wie B. -> BEEP am PC-1360).
  • Zeilenbeschränkung: Schaltet die Zeilenbeschränkung an oder aus. Diese Funktion gibt einen Warnton aus, wenn eine BASIC-Zeile im Pocket Computer mehr als 80 Bytes betragen würde.
  • Einsetzen:
    Damit kann man die Assemblerbefehle auswählen. In der Statuszeile wird die Beschreibung dazu angezeigt.
  • BASIC:
    Damit kann man die Basicbefehle des gewählten Computermodells auswählen.
  • Makros... (Strg+M): Öffnet die Makroliste ( [image] Makros).

Das Rechtsklickmenü

    Die meisten Punkte sind mit dem Bearbeiten-Menü identisch.

  • Rückgängig (Strg+Z): Macht die letzte Veränderung am Text rückgängig. Vorsicht bei Aktionen, die den gesamten Text betreffen (RENUM, Assemblieren, Disassemblieren, etc)! Sie können meist nicht rückgängig gemacht werden.
  • Ausschneiden (Strg+X): Schneidet den markierten Text aus und speichert ihn in der Zwischenablage von Windows.
  • Kopieren (Strg+C): Kopiert den markierten Text in die Zwischenablage.
  • Einfügen (Strg+V): Fügt den Text aus der Zwischenablage an der Stelle mit dem Cursor ein.
  • Löschen (Entf): Löscht den markierten Text, ohne ihn irgendwo zu speichern.
  • Alles markieren (Strg+A): Markiert alles.
  • Marke suchen: Sucht nach der markierten Marke des Assemblercodes.
  • Umrechnen in...: Erlaubt die Umwandlung der markierten Zahl.
  • Einsetzen: Damit kann man die Assemblerbefehle auswählen. In der Statuszeile wird die Beschreibung dazu angezeigt. Die Datei Mnemonics.txt enthält diese Daten. Man kann sie einfach an die eigenen Anforderungen anpassen.
  • BASIC: Damit kann man die Basicbefehle des gewählten Computermodells auswählen.
  • Makros... (Strg+M): Öffnet die Makroliste ( [image] Makros).


Menü Suchen

Das Menü Suchen

  • Suchen (Strg+F): Öffnet das Suchen-Fenster ( [image] Dialoge).
  • Weitersuchen (F3): Sucht den nächsten passenden Text.
  • Ersetzen (Strg+H): Öffnet das Ersetzen-Fenster ( [image] Dialoge).


Menü Extras

Das Menü Extras

  • Assemblieren zu...:
    Die einzelnen Assembleroptionen öffnen einen Speichern-Dialog, der dann eine Datei mit dem jeweiligen Format erzeugt ( [image] Assembler).
  • Ins Fenster assemblieren (F6): Assembliert die Daten als Dezimalcode direkt ins Fenster ( [image] Assembler)
  • Disassemblieren (F7): Erzeugt aus assemblierten Code wieder Assemblercode. Dazu müssen die Daten im Fenster als Dezimalcode stehen.
    Eingabe der Startadresse des Codes
    Das Ausgabefenster
  • Ins Fenster disassemblieren (F8): Disassembliert die Daten ins Fenster.
  • Umrechner:
    Mit diesen Tools kann man Zahlen und Zeichen umwandeln ( [image] Umrechner).
  • Dateien konvertieren...:
    Mit diesen Tools kann man Dateien in die verschiedenen Zahlenformate umwandeln.
  • Grafikdesigner: Erlaubt die Erstellung von Pixelgrafiken für Pocket-Computer. Es lassen sich beliebig viele Fenster öffnen ( [image] Grafikdesigner).
  • Musikdesigner: Rechnet die BEEP-Werte für verschiedene Noten aus.
  • BASIC Renum (F12): Nummeriert die Zeilen eines Basicprogramms neu.
    Eingabe der neuen Startzeile
    Schrittweite zwischen den Zeilen
    Warnung bei fehlerhaften Sprungangaben.
  • Programmgröße berechnen (Strg+F12): Rechnet die Programmgröße aus, die das Programm im Pocket-Computer haben wird.
  • Datentransfer:
    Tools zum Senden und Empfangen von Daten ( [image] Serielle Funktionen).


Menü ?

Das Menü ?

  • Hilfe (F1): Öffnet die Hilfedatei.
  • Info (Strg+I): Zeigt das Info-Fenster.


Dialoge

Die verschiedene Dialoge

  • Drucken:

    Der Standarddruckdialog von Windows.
  • Öffnen:

    Der Datei-Öffnen-Dialog
  • Speichern:

    Der Datei-Speichern-Dialog
  • Sprache:

    Der Sprachdatei-Dialog
  • Schriftart:

    Der Schriftauswahldialog
  • Suchen:

    Der Suchdialog
  • Ersetzen:

    Der Ersetzendialog


Meldungen

  • Die Befehlsdateien haben einen Namen wie Befehle1360.txt. Sie müssen im selben Ordner wie PocketASM.exe sein!

  • Nach dem Umwandeln kommt diese Meldung.

  • Die Makrodateien müssen im Ordner Makros stehen. Sie haben Namen wie DeutschMakros.mak

  • Die Mnemonicliste muss den Namen Mnemonics.txt haben und im PocketASM-Ordner stehen.

  • Bei den Übertragungseinstellung ist CTS-Signal aktiviert. Der Pocket Computer sendet dieses Signal aber nicht oder die Leitung ist nicht intakt.

  • Es existiert bereits eine Datei mit dem selben Namen.

  • Ein Paritätsfehler ist bei einer Übertragung aufgetreten und die Daten könnten Fehler enthalten.

  • Beim Schließen einer Datei erscheint dieser Dialog wenn die Datei noch nicht gespeichert wurde.

  • Beim Schließen einer Datei erscheint dieser Dialog wenn die Datei noch nicht gespeichert wurde.

  • Die Sprachdatei kann mit Sprache ausgewählt werden.

  • Die gewählte Sprachdatei ist entweder keine Sprachdatei, beschädigt oder veraltet.

  • Das Transdriveformat kann keine Kommentare, etc speichern. Deshalb sollte man zuerst die Datei normal speichern.


Assembler

  • PocketASM Programme erstellen
  • PocketASM Befehlssatz
  • Beispielprogramm
  • Anmerkungen und Tricks
  • Programmierhilfen

Hier gibt es zusätzliche Informationen zum Programmieren in Maschinensprache.

Der Assembler von Laurent Duveau erzeugt Maschinencode für alle Pocketcomputer von SHARP mit dem SC61860 Prozessor. Er kann auch Variablen, Formeln und Sprungmarken verarbeiten. Im Anschluss ist der original Hilfetext von Laurent:

PocketASM Programme erstellen

PocketASM achtet nicht auf die Groß-/Kleinschreibung.

Kommentare lassen sich mit folgenden Zeichen markieren:
# ' ;
Alle Zeichen rechts davon werden ignoriert.

Man kann Variablen im Programm verwenden, indem man sie mit einer EQU Anweisung definiert (siehe weiter unten).
Marken erkennt der Assembler am : nach dem Namen. Toto: zum Beispiel ist eine gültige Marke. Eine Marke ist eigentlich eine Variable, die eine Adresse enthält.
Man kann dezimale, hexadezimale oder binäre Zahlen verwenden:

  • Binäre Zahlen beginnen mit einem b: b10010
  • Hexadezimale Zahlen mit einem & (wie bei den Sharp PCs) oder einem h: &3B5A oder h3B5A
  • Dezimale Zahlen kann man mit einem d schreiben oder normal: d3538 oder 3548

PocketASM hat einen internen Rechner. Er unterstützt die folgenden mathematischen Operatoren und Funktionen:
+ - * / ( )
Anmerkung: Man sollte keine Leerzeichen in Formeln einbauen, da sie sonst wie zwei Parameter einer Anweisung ausgewertet werden würden.

Das übliche Format einer PocketASM Zeile ist wie folgt:
[Marke:] Anweisung [Parameter1] [Parameter 2] ... [# Kommentar]
Alles zwischen eckigen Klammern ist optional (Marken, Kommentare) oder hängt von der Anweisung ab (Anzahl der Parameter).

PocketASM Befehlssatz

Zusätzlich zu dem Befehlssatz der Standard SC61860 CPU kennt PocketASM noch einige wenige zusätzliche Anweisungen für den Assembler.

ORG

  • Mnemonic: ORiGinal Adresse
  • Format: ORG Adresse
  • Beschreibung: Definiert die Startadresse des assemblierten Programms. Um das in den Computer übertragene Programm zu starten, muss man es mit CALL Addresse aufrufen.

EQU

  • Mnemonic: EQUivalent
  • Format: Variable EQU Wert
  • Beschreibung: Definiert Variablen, die man dann im Assembler anstelle von Zahlen einsetzen kann.

DB

  • Mnemonic: Definiere Byte
  • Format: DB Wert1 Wert2 ... Wert n
  • Beschreibung: Wird benutzt, um Werte in das Programm einzubauen. Diese Werte entsprechen jeweils einem Byte und werden in den Speicher als Bytes übertragen.

DW

  • Mnemonic: Definiere Wort
  • Format: DW Wert1 Wert2 ... Wert n
  • Beschreibung: Wird benutzt, um Werte in das Programm einzubauen. Diese Werte entsprechen jeweils 2 Bytes und werden in den Speicher als 2 Bytes übertragen.

DS

  • Mnemonic: Definiere String
  • Format: DS "String"
  • Beschreibung: Wird benutzt, um Text in das Programm einzubauen. PocketASM wird die ASCII Codes in Zahlen umwandeln. Da nicht alle Zeichen zwischen Pocket Computer und PC übereinstimmen, werden diese umgewandelt. Jedes Zeichen belegt ein Byte im Speicher.

PTJ

  • Mnemonic: Prepare Table Jump
  • Format:
    PTJ
    DB Anzahl Vergleiche
    DW Rücksprungadresse
  • Beschreibung: Bereitet einen Unterprogrammaufruf nach Tabelle vor: Man gibt die Anzahl der Vergleiche an und die Rücksprungadresse, die bei einem RTN aus einer der aufgerufenen Routinen dann angesprungen wird.

DTJ

  • Mnemonic: Do Table Jump
  • Format:
    DTJ
    DB Vergleichswert
    DW Routinenadresse
    DB Vergleichswert
    DW Routinenadresse
    ...
    DW Ausweichadresse
  • Beschreibung: Führt den Tabellenaufruf aus: Für jeden der Vergleiche gibt man einen Wert, den A haben soll und eine Adresse an. Am Schluss kommt noch die Ausweichadresse, die angesprungen wird, wenn kein Wert zutrifft. Diese Adresse zählt nicht bei der Anzahl der Vergleiche mit!

Beispielprogramm

Hier steht ein kleines Beispiel des PocketASM Codes (Dieses Programm erzeugt nichts nützliches, es dient nur zur Veranschaulichung des Programmierens in Assembler):

#########################################
# This is a sample POCKASM source code  #
# This program adds two 16 bits numbers #
#########################################
        ORG  33000            # 33000 = Start address of program
A_REG   EQU  2                # Defines Registers used by program
XL_REG  EQU  4
        JP   BEGIN            # Entry point of the program, at
                              # address 33000
BEGNUM:                       # Addresses where numbers to be
NUM1:   DW   0                # added will be placed by the
NUM2:   DW   0                # calling (Basic) program
ENDNUM:
BEGRES:                       # Address where result of addition
RESULT: DW   0                # will be returned for the
ENDRES:                       # calling (Basic) program
BEGIN:  LIDP NUM1             # DP gets the address of NUM1
        LII  ENDNUM-BEGNUM-1  # I gets value 3
        LP   A_REG            # P gets value 2
        MVWD                  # Stores NUM1 in A and B registers
                              # and NUM2 in XL and XH registers
        LP   XL_REG           # P gets value 4
        ADB                   # X register gets the result of
                              # addition NUM1+NUM2
        LIDP RESULT           # DP now points to RESULT variable
        LII  ENDRES-BEGRES-1  # I gets value 1
        LP   XL_REG           # P gets value 4
        EXWD                  # RESULT gets the result value
                              # stored in the X register
END:    RTN                   # End of the program

Anmerkungen und Tricks

Es ist leichter, die LIDP Anweisung zu verwenden, anstelle von LIDL, da man aufpassen muss, dass LIDL im gleichen Block von 256 Bytes bleibt.
PocketASM macht es einem sehr leicht, absolute und relative Sprünge zu bewältigen, indem man einfach eine Marke setzt.

# Stupid sample program
        LIA  1                # A gets value 1
        CPIA 10               # A is compared to value 10
        JRCP BIG              # if A is < 10 then go to BIG
        LIB  5                # B gets value 5
        JP   END              # Jump to end of program
BIG:    LIB  50               # B gets value 50
END:    RTN                   # End of program

Programmierhilfen

PocketASM unterstützt Programmierer mit Features wie AutoVervollständigen, Cursorposition, Beschreibung des Befehls und Makros

  • Bei jeder Bewegung des Cursors ändert sich die Anzeige in der Statuszeile
  • Während der Eingabe zeigt PocketASM die erste nummerisch gefundene Anweisung an, mit der Leer- oder TAB-Taste wird der Befehl angenommen, mit DEL abgelehnt
  • In der Statuszeile wird man über die Funktion der Anweisung unter dem Cursor informiert
  • Eine Auswahlliste aller Mnemonics mit Beschreibung befindet sich im Menü
  • Mit Rechtsklick kann eine Zahl am Cursor direkt im Programm umgerechnet und Sprungmarken aufgefunden werden
  • PocketASM öffnet Transdrive-Dateien und konvertiert sie in lesbaren BASIC-Code bzw disassembliert Maschinenprogramme
  • Es können die BASIC Befehle verschiedener Pocket Computer geladen werden und im Menü ausgewählt werden
  • Makros, die auch verändert und selbst erstellt werden können, erlauben die Erweiterung durch den Benutzer


Grafikdesigner

    Der Grafikdesigner ist leicht zu bedienen. Er gibt Eingaben als Pixel und Pixeleingaben als Code aus.

  • Das Grafikfenster: Hier klickt man Pixel an, um sie zu setzen und zu löschen.
  • Hex / Dez: Die Art des Codes. HEX entspricht dem GPRINT-Format GPRINT "FF013A", DEZ gibt eine Liste von Bytes aus, für jede Spalte eine.
  • Alle an/aus: Schaltet das ganze Fenster (alle Pixel) an oder aus.
  • Invertieren: Invertiert das gezeichnete Bild.
  • Laden: Öffnet ein Bild ( [image] Dialoge).
  • Speichern: Speichert ein Bild ( [image] Dialoge).
  • Ausgabefenster: Hier kann man Code kopieren und manipulieren.


Makros

  • Auf der linken Seite ist der Baum, der alle Makros verwaltet. Hier kann man bearbeiten, löschen und neue Makros mit einem Rechtsklick erstellen. Um ein Makro an eine bestimmte Stelle zu bewegen, einfach ziehen! Links von den Icons losgelassen, fügt sich das Makro zwischen die vorhandenen ein, Draufgezogen wird es ein Untereintrag. Ganz ans Ende gezogen ist es ein neuer Computertyp. Makros lassen sich auch auf gewohnte Weise umbenennen (langsam doppelklicken) und löschen (Entfernen-Taste).
  • Rechts sieht man die Beschreibung des Makros und weitere Optionen.
  • ROM Version: Für den PC-1360 gibt es mehrere Versionen des fest eingebauten Betriebssystems. Version 1 ist die neuere. Mit PEEK &7FFF kann man die Version feststellen: 5 bedeutet Version 1, niedrigere Werte 0.
  • Vergleichsart: Für Vergleichsfunktionen. Zahl für Vergleiche von Zahlen und String mit Strings.
  • Operationsregister: Damit wird Code eingefügt, der entsprechend mit den Operationsregistern verfährt.
  • Die Buttons Einsetzen und Schließen: Einsetzen fügt den Makrocode ein und Schließen schließt das Fenster.
  • Name: Hier wird der Name des Makros eingegeben, der im Baum erscheinen wird.
  • Beschreibung: Hier wird der Beschreibungstext des Makros eingegeben, was das Makro braucht und was es tut.
  • Ergebnis: Hier wird die Beschreibung des Ergebnisses/der Wirkung eingegeben.
  • Vergleich: Ist das Makro ein Vergleich? Oder braucht man mehrere Optionen im Makro, so dass mehrere Varianten zur Verfügung stehen?
  • Code Version: Hier wird der Assemblercode oder Text des Makros eingegeben.

Die Dateien im Makros Verzeichnis:

Aufbauschema der Makrodateien:

  • Name: Sprachname + Makros.mak
  • Inhalt: Die Aufzählung der Makros im Baum mit Tabulatoren zur Einrückung und angehängten Daten
  • Die Blöcke (durch "|" getrennt, innerhalb eines Blocks sind Zeilenumbrüche mit "\n" gekennzeichnet):
    1. Block: Beschreibung der Funktion und die Einsprungvoraussetzungen - das ist der Text, der im oberen Infofenster erscheint!
    2. Block: Beschreibung des Ergebnisses, der Auswirkungen, etc - das ist der Text, der im unteren Infofenster erscheint!
    3. Block:
    ID-Nummer:
    0 = Version 0-Code und 1-Code folgen noch in zwei Blöcken
    1 = Vergleichsart Zahl/String wird aktiviert und in vier Blöcken folgen zuerst Zahl (Version 0, dann 1), dann Stringcodes für beide Versionen
    Die restlichen Blöcke sind von der ID abhängig!

Besondere Dateien:

  • Name: orXYstart.txt
  • Inhalt: Der Code, der am Anfang des Fensters eingefügt wird, wenn die Operationsregister ins Programm eingebaut werden sollen

  • Name: readORx.txt, readORy.txt, readORxy.txt
  • Inhalt: Der Code, der an Cursorposition entsprechend X bzw. Y Register einlesen eingefügt wird


Serielle Übertragung

Die serielle Übertragung

  • Fenster senden (F4): Sendet den Inhalt des Textfensters mit den aktuellen Einstellungen. In der Statuszeile kann man den Sende-/Empfangsfortgang beobachten. Mit ESC oder Klick auf Stopp im Menü wird der Prozess beendet.
  • Ins Fenster empfangen (F5): Geht in den Empfangenmodus und empfängt alle Daten in das Textfenster. Wenn Text markiert wurde, wird nur dieser überschrieben. In der Statuszeile kann man den Sende-/Empfangsfortgang beobachten. Mit ESC oder Klick auf Stopp im Menü wird der Prozess beendet.
  • Datei senden (Strg+F4): Sendet eine Datei, die mit dem Öffnen-Dialog ausgewählt wurde. In der Statuszeile kann man den Sende-/Empfangsfortgang beobachten. Mit ESC oder Klick auf Stopp im Menü wird der Prozess beendet.
  • Datei empfangen (Strg+F5): Empfängt in eine Datei, die mit dem Speichern-Dialog ausgewählt wurde. In der Statuszeile kann man den Sende-/Empfangsfortgang beobachten. Mit ESC oder Klick auf Stopp im Menü wird der Prozess beendet.
  • Test: Testet die Verbindung zwischen PC und Pocket Computer indem ein paar Zeichen gesendet werden. Am Pocket Computer kann man den Inhalt der Variable dann überprüfen!
    Anleitung des Tests.
    Fehlermeldung, wenn der Pocket Computer nicht empfangsbereit und das CTS-Signal aktiviert ist.
  • Einstellungen... (F11): Öffnet den Einstellungen-Dialog.

    Hier kann man alle nötigen Einstellungen vornehmen.
    • COM Port: Der Port mit dem der Pocket Computer verbunden ist
    • Baudrate: Übertragungsgeschwindigkeit. Es kann auch eine eigene Rate eingegeben werden, wie 1950.
    • Datenbits: Anzahl der Bits, die in einem Paket gesendet werden.
    • Stoppbits: Anzahl der Bits, die das Ende eines Blocks markieren.
    • Zeilenendcode: Das Byte oder die Bytes, die nach einer Zeile gesendet werden. Ignorieren gibt diese Daten ungefiltert weiter.
    • Programmendcode: Das Byte, welches das Ende des BASIC Programms markiert. Es kann automatisch an das Übertragungsende angehängt werden.
    • CTS Signal: Diese Leitung gibt die Information der Bereitschaft weiter. Ist diese Funktion aktiviert, wartet der Computer auf den Pocket, sofern das Kabel diese Leitung verwendet.
    • Parität: Diese Funktion ermöglicht die Fehlererkennung bei der seriellen Datenübertragung.


Statuszeile

Die Statuszeile

  • Die Statuszeile zeigt die Cursorposition, Informationen zu Befehlen und Menüs, Transfervorgänge und Pocketcomputermodell an.
  • Befehlserklärungen für Assemblercode:

  • BASIC-Tokens:
  • Einstellung der seriellen Schnittstelle:
  • Empfangen von Daten:
  • Senden von Daten:
  • Rechtsklick auf den Transferbalkenbereich:

    Hier kann man schnell einen Datentransfer starten ( [image] Serielle Schnittstelle).
  • Rechtsklick auf den Modellnamen:

    Hier kann man schnell das Pocket-Computer-Modell wählen.


Tastenbefehle

Tastenbefehle (Hotkeys)

Das Programm unterstützt weitestgehend die Bedienung mit Tastenkombinationen:

Strg+N | Neu: Das Fenster wird geleert, wenn das vorherige Programm noch nicht gespeichert ist, fragt PocketASM nach.
Strg+O | Öffnen: Eine andere Datei kann geöffnet werden.
Strg+S | Sofort speichern: Die alte Datei wird ohne Nachfrage überschrieben.
Strg+U | Speichern unter: Die Datei kann gespeichert werden.
Strg+P | Drucken: Die Druckabfrage erscheint.
Strg+L | Sprache: Eine Sprache kann ausgewählt werden.
Alt+F4 | Beenden: Das Programm wird geschlossen.
Entf | Löschen: Entfernt den markierten Text ohne Zwischenspeicherung.
Einfg | Umschalten zwischen Überschreib- und Einfügemodus beim Tippen.
Strg+Z | Rückgängig: Die letzte Aktion wird zurückgenommen.
Strg+X | Ausschneiden: Der markierte Text wird ausgeschnitten und zum Einfügen zwischengespeichert.
Strg+C | Kopieren: Der markierte Text wird kopiert.
Strg+V | Einfügen: Der kopierte oder ausgeschnittene Text wird eingefügt
Strg+A | Alles markieren: Markiert allen Text.
Strg+F | Suchen: Das Suchen-Fenster erscheint. Wenn etwas markiert wurde, wird danach gesucht.
Strg+H | Ersetzen: Das Ersetzen-Fenster erscheint. Wenn etwas markiert wurde, wird danach gesucht.
F3 | Weitersuchen: Die Suche wird fortgesetzt, auch wenn das Suchen-Fenster nicht zu sehen ist.
F9 | Assemblieren zu Dezimalcode: Der Code wird assembliert und das Ergebnis kann in eine Datei gespeichert werden.
F10 | Assemblieren zu Basicinstaller: Der Code wird assembliert und das Ergebnis kann in eine Datei gespeichert werden.
F6 | Ins Fenster assemblieren: Der Code wird assembliert und das Ergebnis wird im Fenster angezeigt. Der Code wird dabei überschrieben.
F7 | Disassemblieren: Zahlen im Fenster werden zu Quellcode umgerechnet und dieser in einem anderen Fenster angezeigt.
F8 | Ins Fenster disassemblieren: Das Ergebnis überschreibt den Fensterinhalt.
Strg+F6 | Der Dezimal-Hexadezimal-Binär Umrechner erscheint.
Strg+F7 | Der BCD-Zahlen-Umrechner erscheint.
Strg+F8 | Der ASCII-Byte-Umrechner erscheint.
Umsch+F2 | Die Zahl an der Cursorposition wird in Hexadezimal umgerechnet.
Umsch+F3 | Die Zahl an der Cursorposition wird in Dezimal umgerechnet.
Umsch+F4 | Das Zeichen an der Cursorposition wird in eine Zahl umgerechnet.
Umsch+F5 | Die Zahl an der Cursorposition wird in ein Byte umgerechnet.
Umsch+F6 | Die Zahl an der Cursorposition wird in LB und HB umgerechnet.
F12 | BASIC RENUM: Der Basic-Nummerierer erscheint.
Strg+F12 | Programmgrößenberechnung: Die Größe wird angezeigt.
F4 | Fenster senden: Der Fensterinhalt wird mit den momentanen Einstellungen über die serielle Schnittstelle gesendet.
F5 | Ins Fenster empfangen: Der (markierte) Fensterinhalt wird von den empfangenen Daten der seriellen Schnittstelle ersetzt.
Strg+F4 | Datei senden: Die ausgewählte Datei wird mit den momentanen Einstellungen über die serielle Schnittstelle gesendet.
Strg+F5 | Datei empfangen: Die ausgewählte Datei wird mit den empfangenen Daten der seriellen Schnittstelle gefüllt.
F11 | Einstellungen: Das Serielle-Schnittstelle-Einstellungen-Fenster erscheint.
F1 | Diese Hilfe öffnet sich.
Strg+I | Das Info-Fenster erscheint.


TransDrive System

Das TransDrive System

    Die TransDrive-Funktionen laufen so gut wie alle im Hintergrund ab. Bei jedem Öffnen und Speichern wird überprüft, ob der Dateiname auf .td endet oder eine zu öffnende Datei binäre Daten enthält. Bei korrekter Einhaltung des Formats kommen keine der unten angeführten Dialogboxen, da das TransDrive-Format bereits alle diese Daten enthält.

  • Beim Öffnen einer Datei mit binärem Inhalt kommt diese Frage:
    Soll diese Datei BASIC-Code enthalten, muss man Ja anklicken.
  • Danach kommt bei JA der Pocket-Computer-Auswahldialog:
    Hier muss man das Modell auswählen, von dem der Code stammt.
  • Bei NEIN kann man sich entscheiden, ob man den Code disassemblieren will:
  • PocketASM fragt dann bei JA nach der Startadresse wie beim normalen Disassemblieren:


Umrechner

Die Umrechner

  • Im obersten Feld gibt man Dezimalzahlen 0..9 ein, die dann simultan in die anderen Formate umgerechnet werden. Kommazahlen sind nicht erlaubt.
  • In der Mitte gibt man Hexadezimalzahlen ein 0..9 und A..F sind erlaubt.
  • Unten kann man binäre Zahlen mit 0 und 1 eingeben.
  • Oben gibt man eine dezimale Zahl ein. Komma, E und Vorzeichen sind möglich. Beispiel: -1,27E-38
  • Unten kommen die BCD Bytes heraus. Man kann auch diese manipulieren.
  • Oben steht das ASCII-Zeichen.
  • Unten steht der ASCII-Code als eine Dezimalzahl.


Kurzanleitung

Kurzanleitung zu PC-1360, PC-1350, PC-1403(H), PC-1475 und PC-E500

  • Inbetriebnahme
  • Benutzung als Taschenrechner
  • Eingabe und Bearbeitung von BASIC-Programmen
  • Die Mathematik der Pocket Computer
  • Funktionstasten
  • Programmierung und BASIC-Befehle

Inbetriebnahme:

Der Rechner benötigt zwei volle CR2032 Batterien oder ein Akkupack 6V am 11-poligen Interface Pin 2=(+), Pin 3=(-) als Stromversorgung und (mindestens) eine RAM-Karte (außer 1403) im Slot 1. Nach dem ersten Anschalten kommt meistens eine Meldung wie "Memory Clear OK?", dann Y drücken!
Fertig! Der Rechner sollte jetzt den Eingabeprompt ">" zeigen.

Benutzung als Taschenrechner:

Im RUN Modus (bei allen Pocket Computern)

Eingabe der Zahlen, Klammern, Operatoren und Funktionen (SIN, COS, EXP...) wie in der auszurechnenden Formel. Beispiel: 10-EXP 20*(SIN 30) [ENTER]

Im CAL Modus (bei Rechner mit CAL-Taste)

1403 | 1475 | E500 | Taste
x | x | x | [2ndF]/[SHIFT] Taste: Damit werden die Funktionen oberhalb der Taste benutzt.
x | x | x | [FSE] Taste: Schaltet die Anzeigenmodi Normal, FIX, SCI und ENG durch
x | x | x | [TAB] Taste: In Verbindung mit dem SCI Modus legt TAB + 0 bis 9 die Anzahl der angezeigten Nachkommastellen fest.
x | x | x | [C-CE] Taste: Löscht Fehler, Ergebnis und Eingaben. Der Speicher wird nicht gelöscht.
x | x | x | [DRG] Taste: Winkelmaß durchschalten: Grad, Bogenmaß und Neugrad.
x | x | x | [EXP] Taste: Eingabe eines Exponenten
x | x | x | [+/-] Taste: Vorzeichenumkehr
x | x | x | [SIN], [COS], [TAN], [HYP], [SIN-1], [COS-1], [TAN-1], [ARCHYP]: Trigonometrische Funktionen
x | x | x | [M+], [x->M], [RM]: Speicherfunktionen. [M+] addiert angezeigte Zahl zum Speicher, [x->M] speichert die Zahl und überschreibt den Inhalt. Den Speicher kann man mit [RM] abrufen und mit [C-CE] + [x->M] löschen.
x | x | x | [x²], [yx], [ [image] ], [³ [image] ], [x [image] ]: Potenz und Wurzel
x | x | x | [ln], [log], [e10], [ex]: Exponent und Logarithmus
x | x | x | [1/x], [n!]: Reziprok- und Fakultätrechnung
x | x | x | [%] Taste: Prozentrechnung: 45% von 2780 -> Eingabe: 2780 [*] 45 [%] [=]
x | x | x | [->DMS], [->DEG]: Winkel- und Zeitumwandlung: DEG wandelt einen Winkel oder Stunden:Minuten:Sekunden in eine Dezimalzahl um. DMS wandelt die Zahl wieder zurück.
x | x | x | [->rO], [r,O->x,y]: Umwandlung von rechtwinkligen zu Polarkoordinaten und umgekehrt.
x | x | x | Doppelpfeil Taste: x und y Variablen tauschen.
x | x | x | [->HEX], [->DEC]: Umwandlung von Dezimal zu Hexadezimal und umgekehrt.
x | x | x | [C-CE] + [->HEX]: Rechenmodus Hexadezimal aktivieren. Hier kann man nicht mit Kommastellen rechnen.
x | x | x | [(],[)]: Klammern in Berechnungen einbauen.
x | x | x | [0]..[9]: Zifferntasten
x | x | x | [+],[-],[*],[/]: Rechenzeichen
x | x | x | [.]:Dezimalpunkt
x | x | x | [ [image] ]: Die Kreiszahl Pi
x | x |  | [n] Taste: Statistik: Umfang der x-Stichprobenwerte
x | x |  | [Ex] Taste: Summe der Stichprobenwerte
x | x |  | [Ex²] Taste: Summe der Quadrate der Stichprobenwerte
x | x |  | [x] Taste: Stichprobenmittelwert
x | x |  | [sx] Taste: Stichproben-Standardabweichung mit Grundgesamtheitsparameter n-1
x | x |  | [ox] Taste: Grundgesamtheits-Standardabweichung mit Grundgesamtheitsparameter n
x | x |  | [Ey] Taste: Summe der Stichprobenwerte
x | x |  | [Ey²] Taste: Summe der Quadrate der Stichprobenwerte
x | x |  | [Exy] Taste: Summe der Quadrate der x- und y-Stichprobenwerte
x | x |  | [y] Taste: Stichprobenmittelwert
x | x |  | [sy] Taste: Stichproben-Standardabweichung mit Grundgesamtheitsparameter n-1
x | x |  | [oy] Taste: Grundgesamtheits-Standardabweichung der Stichprobe (y) mit Grundgesamtheitsparameter n
x | x |  | [STAT] Taste: Statistik Modus und gleichzeitig Dateneingabe: Wert eingeben, Enter drücken, mit Cursortasten navigieren
x | x |  | [FREQ] Taste: Bei Eingabe mehrerer gleicher Werte kann man Wert FREQ Anzahl Enter eingeben.
x | x |  | [STAT CALC] Taste: Rechnet die Daten aus. Danach kann man die verschiedenen Ergebnisse abrufen.
x | x |  | [a] Taste: Regressions-Analyse: y=bx+a, zeigt a an.
x | x |  | [b] Taste: Regressions-Analyse: y=bx+a, zeigt b an.
x | x |  | [r] Taste: Regressions-Analyse: y=bx+a, zeigt den Korrelationskoeffizienten r an.
x | x |  | [y'] Taste: Regressions-Analyse: y=bx+a, zeigt y' an.
x | x |  | [x'] Taste: Regressions-Analyse: y=bx+a, zeigt x' an.
x | x |  | [RESID] Taste: Zeigt den Anpassungsfehler der Daten an.
x | x |  | [SHIFT] + Pfeil nach unten/oben: Matrix Modus
x | x |  | Cursortasten: Navigation in der Matrix
x | x |  | [Enter]: Abspeicherung des eingegebenen Wertes in der Matrix
x | x |  | [+],[-],[*],[/],[INV]: Matrixverknüpfungen: [+]: X + Y -> X, [-]: X - Y -> X, [*]: X * Y -> X, [/]: X * Y-1 -> X, [INV]: X-1 -> X
x | x |  | n [+],[-],[*],[/]: Addiert,Subtrahiert... mit jedem Element der Matrix n.
x | x |  | Doppelpfeil Taste: X <-> Y Matrix tauschen
x | x |  | [TRN] Taste: Transposition der Matrix X: X1 -> X
x | x |  | [DET] Taste: |X| -> X (Anzeige): Berechnet die Determinante von der Matrix X.
x | x |  | [+/-] Taste: Kehrt bei allen Matrixelementen das Vorzeichen um.
x | x |  | [SQU] Taste: Quadrierung der Matrix X: X * Y -> X
x | x |  | [x->M] Taste: Speichert die Matrix X in der Matrix M.
x | x |  | [RM] Taste: Lädt Matrix M wieder nach X.
x | x |  | [M+] Taste: Kumulative Addition des Werts von Matrix X zu M: X + M -> M.
x | x |  | [STO] + [A]..[Z]: Speichert X in MA..MZ.
x | x |  | [RCL] + [A]..[Z]: Lädt MA..MZ wieder nach X.
x | x |  | [EQU] Taste: Berechnet die Lösung des linearen Gleichungssystems aus den Matrixen [X] und [Y].
x | x |  | [RESID] Taste: MX - Y -> X, um die Lösung von [EQU] bewerten zu können.

Eingeben und Bearbeiten von BASIC-Programmen:

Nur im PROGRAM Modus

  • Erstellung einer Zeile: Zuerst Eingabe der Zeilennummer, dann die Daten, Befehle, Rechnungen, etc. Zum Speichern der Zeile ENTER drücken. Eingabebeispiel: 10PRINT"HALLO":END [ENTER]
  • Eingabetipps: Befehle kann man beim Eintippen auch mit einem Punkt abkürzen: P. -> PRINT, I. -> INPUT.
  • Bearbeiten von Zeilen: Zeilen kann man durch Cursor links und rechts wieder betreten oder mit Ab und Auf wechseln. Die INS-Taste fügt einen Platzhalter ein, DEL löscht das Zeichen unter dem Cursor.
  • Löschen von Zeilen: Um eine einzelne Zeile zu löschen, braucht man nur die Nummer der betreffenden Zeile eingeben: 10 [ENTER] löscht Zeile 10 (falls vorhanden). Ansonsten verwendet man den DELETE-Befehl.
  • Kopieren von Zeilen: Zeilen lassen sich kopieren, wenn man die Zeilennummer mit einer anderen Nummer überschreibt. Dazu muss man nur mit Cursor nach links auf die Nummer gehen, die neue tippen und ENTER drücken.
  • Überschreiben von Zeilen: Man erstellt einfach eine neue Zeile, welche die gleiche Nummer wie eine schon vorhandene Zeile hat. Die alte Zeile wird dann überschrieben.
  • Eine Zeile finden: Wenn man CLS und dann Ab oder Auf drückt, kommt man an den Anfang bzw. Ende des Programms. Wenn man dazwischen eine Zeile sehen will, muss man den LIST-Befehl benutzen (weiter unten beschrieben).
  • Bei Fehlermeldung die betroffene Zeile finden: Wenn ein Fehler aufgetreten ist, springt der Cursor bei Druck auf die Ab- oder Auf-Taste automatisch in die entsprechende Zeile auf das Zeichen, bei dem der Fehler aufgetreten ist. Mit ENTER oder Neustart des Programms hebt man diesen Autosprung wieder auf, so dass man wieder von oben oder unten mit dem Scrollen anfangen kann. Im RUN-Modus ist die Zeile nur solange zu sehen, wie man auf die Auf- oder Ab-Taste drückt!

Die Mathematik der Pocket Computer:

Operatorrangfolge:

  • Klammern
  • Variablen
  • Funktionen (SIN, EXP, ...)
  • Exponentiation (^)
  • Vorzeichen
  • Punkt vor Strich
  • Größenvergleiche
  • logische Operatoren (AND, OR, NOT)

Hexadezimalzahlen beginnen mit & (&3F)

Variablen werden mit = zugewiesen (X=35), der Name darf maximal 2 Stellen haben. Stringvariablen bekommen ein $-Zeichen angehängt. (AB$="Text")

Sonderfunktionen:

1350 | 1360 | 1403 | 1475 | E500 |
x | x | x | x |  | [DEF] Taste + Zeichen im dunkel unterlegten Bereich: Schnellstart von Programmen, wenn in der ersten Zeile des jeweiligen Programms ein Startbuchstabe steht: zB: 10 "S" PRINT 2*2: END. Bei PC-E500 kann man auch 10 *RECHNUNG: PRINT "... schreiben!
x | x | x | x |  | [SML] Taste: Schaltet Kleinbuchstabenmodus an und aus
x | x | x | x | x | [DEL] Taste: Löscht den Buchstaben unter dem Cursor
x | x | x | x | x | [INS] Taste: Fügt einen Platzhalter ein, der mit einem Zeichen gefüllt werden kann
 |  |  | x | x | [BS] Taste: Löscht das Zeichen vor dem Cursor
x | x |  |  |  | [CLS] Taste: Löscht den Bildschirm, bzw die Eingabe bei INPUT
 |  | x | x | x | [C-CE] Taste: Löscht den Bildschirm, bzw die Eingabe bei INPUT oder im CAL-Modus
 |  |  |  | x | Doppelpfeil Taste: Schaltet die vorhandenen Menus durch
 |  |  |  | x | Menu Tasten [PF1]..[PF5]: Wählt die entsprechende Funktion aus.
 |  |  |  | x | [CTRL] Taste: Ermöglicht Sonderfunktionen: CTRL+0 schaltet Tastenbeep an und aus.
 |  |  |  | x | [ANS] Taste: Holt das letzte Ergebnis auf den Bildschirm zurück.
 |  |  |  | x | [CAPS] Taste: Für Großbuchstaben.
x | x | x | x | x | [BRK/ON] Taste: Programm unterbrechen. Wenn der Computer sich abschaltet, hiermit anschalten
x | x | x | x | x | RESET Knopf (unten am Gehäuse): Löscht die Speicherkarte, Y zum Initialisieren drücken
x | x | x | x | x | RESET + beliebige Taste: Setzt den Computer zurück
x | x |  |  |  | [MODE] Taste: Wechselt zwischen PRG und RUN Mode
 |  | x | x | x | [BASIC] Taste: Schaltet zwischen PRG und RUN Mode hin- und her
 |  | x | x | x | [CAL] Taste: Wechselt in den Taschenrechner-Modus
x | x |  | x | x | RESERVE Modus: SHIFT + MODE: Mit SHIFT + Buchstabe im dunkel unterlegten Bereich können Befehle im Reserve Modus als "Shortcuts" eingegeben und angezeigt werden
x | x | x | x | x | [SHIFT] Taste + Buchstabe im dunkel unterlegten Bereich: Im Reserve-Modus eingegebene Zeichen werden wiedergegeben
x | x | x | x | x | Abkürzungen: Es werden immer die Anfangsbuchstaben in den nächstgelegenen Befehl übersetzt, zB: B. ENTER -> BEEP
x | x | x | x | x | Pfeiltasten: Navigation in Programmen und eingegebenen Zeichenfolgen; nach dem Drücken von ENTER kann mit <- oder -> zu Rechnungen, Variablendefinitionen und bestimmten Befehlen zurückgekehrt werden, um sie zu verändern. In Programmen navigiert man mit Pfeil oben/unten und kann während der Ausführung die aktuelle Zeile zeigen lassen, wenn das Programm auf eine Eingabe wartet.
x | x | x | x | x | Zeichenfolgen sind immer mit "" zu umschließen, am Ende einer Zeile kann man " weglassen!
x | x | x | x | x | [ENTER] Taste: Speichern von Zeilen, Eingaben, Ausführung von Befehlen in der Kommandozeile, Zeilenvorschub und Anzeige von Ergebnissen.

Programmierung und BASIC-Befehle:

Anmerkungen:

  • d: bedeutet ein Gerät: "X:Berechnung.BAS" Es gibt bei PC-1350 und PC-1403 X und Y auf Diskette, PC-1475 und PC-1360 X,Y (Diskette), F (RAM Disk) und bei PC-E500 CAS (Kassette), COM (serielle Schnittstelle), X und Y (Diskette), E und F (RAM Disk).
  • [ ] bedeuten: So markierte Teile eines Befehls sind optional und können weggelassen werden.
  • ( ) bedeuten: Wenn mehrere Argumente eingegeben werden sollen, müssen Klammern diese umschließen.
  • " " bedeuten: Wenn Parameter in " stehen, müssen die Parameter als String angegeben werden.
  • Liste: Eine Aneinanderreihung von Daten mit [,]: 12,231,999,"Hallo",CHR$ 13
  • String: Eine Zeichenfolge oder Zeichenfolgenvariable
  • Var$: Eine Zeichenfolgenvariable
  • Zeile: Eine Zeilennummer oder ein Label
  • Adresse: Eine Adresse von 0..65535
  • BERP: Dieser Befehl ist in BASIC-Programmen (B), Eingabezeile (E), Run (R) und Program (P) Modus erlaubt
1350 | 1360 | 1403 | 1475 | E500 |  |
x | x | x | x | x | ABS: Rechnet den Betrag aus, Klammern bei Formelausdrücken z.B.: ABS 12 - ABS (23*2-78) + ABS X * ABS (Y-X) | BERP
x | x | x | x | x | ACS: Arcuscosinus, ansonsten wie ABS | BERP
 |  | x | x | x | AHC: Reziproker hyperbolischer Cosinus, ansonsten wie ABS | BERP
 |  | x | x | x | AHS: Reziproker hyperbolischer Sinus, ansonsten wie ABS | BERP
 |  | x | x | x | AHT: Reziproker hyperbolischer Tangens, ansonsten wie ABS | BERP
x | x | x | x | x | AREAD Var$: Bei einem Programm mit dem Aufbau wie 10: "S": AREAD I$: PRINT I$ wird der zuletzt eingegebene oder ausgerechnete Bildschirminhalt beim Start mit der DEF Taste in I$ gespeichert | BP
 | x |  | x | x | ARUN Zeile oder "Label": Am Anfang in der ersten Zeile des Computers bewirkt dieser Befehl die automatische Ausführung eines Programms an der angegebenen Zeilennummer oder Index mit Buchstabe (wie DEF) | BP
x | x | x | x | x | ASC "Zeichen": Liefert den ASCII Code des 1. Zeichens oder des 1. Zeichens in einer Textvariable | BERP
x | x | x | x | x | ASN: Arcussinus, sonst wie ABS | BERP
x | x | x | x | x | ATN: Arcustangens, sonst wie ABS | BERP
 |  |  | x | x | AUTO [Startzeilennummer],[Schrittweite]: Ermöglicht die komfortable BASIC Eingabe. | EP
 | x |  | x | x | AUTOGOTO Zeile oder "Label": wie ARUN, nur werden nicht alle Variablen gelöscht | BP
 | x |  | x | x | BASIC: Setzt den PC in den BASIC Modus (zur Programmierung) | EP
x |  | x |  |  | BEEP Anzahl: gibt einen kurzen hohen Pieps von sich | BERP
 | x |  | x | x | BEEP Anzahl, Tonhöhe, Länge: gibt Töne von sich: Tonhöhe n von 0..255, Länge von 0..65535, es gilt die Formel [image] , mein Notedit Programm rechnet automatisch Noten und Längen aus, in dessen Anleitung steht mehr dazu | BERP
x | x | x | x | x | CALL Adresse: startet ein Maschinensprache-Programm an der angegebenen Speicher-Adresse 0..65535 | BERP
x | x | x | x | x | CHAIN ["[d:]datei.ext"],[Zeile]: Ein Programm kann damit ein anderes von einer Kassette (Kassetteninterface) laden und ausführen (ev. Angabe des Dateinamens) | BP
x | x | x | x | x | CHR$: Liefert das Zeichen mit dem angegebenen ASCII Code 0..255 | BERP
 | x |  | x | x | CIRCLE MittelpunktX, MittelpunktY, Radius [, Farbe, Anfangswinkel, Endwinkel, Verhältnis RadiusY/RadiusX, Teilungswinkel (Genauigkeit), Kreisbogen=0/Sektor=1]: Nur für Plotter und Tintendrucker: Malt Kreise und Sektoren auf dem seriellen Drucker | BERP
x | x | x | x | x | CLEAR [Variablenliste]: Löscht alle Variablen und Felder | BERP
x | x | x | x | x | CLOAD ["[d:]datei.ext"]: Lädt ein Programm von Kassette, ev. mit Dateiname | ERP
x | x | x | x | x | CLOAD? ["[d:]datei.ext"]: Vergleicht das Programm im Speicher mit dem auf Kassette, ev. mit Dateiname | ERP
x | x | x | x | x | CLOAD M ["[d:]datei.ext",] Adresse: Lädt ein Maschinensprache-Programm von Kassette an die angegebene Adresse, ev. mit Dateiname: zB: CLOAD M "Name",34768 | ERP
x | x |  | x | x | CLOSE [Dateinummernliste]: Schließt das serielle Interface / eine Datei (CLOSE #Nummer) | BERP
x | x |  | x | x | CLOSE #1: Schließt das serielle Interface | BERP
x | x |  | x | x | CLS: Löscht die Anzeige | BP
 | x |  | x | x | COLOR Nummer[,7]: Zum Farbwechsel beim seriellen Drucker (,7 macht keinen Ausdruck) | BERP
x | x |  | x | x | CONSOLE Spaltenzahl: Setzt die Anzahl der Spalten beim Drucken | BERP
x | x | x | x | x | CONT: Setzt ein mit BRK unterbrochenes Programm fort | ER
 |  |  | x |  | CONVERT 1..3: Wandelt RAM-Karten für andere Pocket Computer um: 1=PC-1460/1425, 2=PC-1360, 3=PC-1450 | ERP
 | x | x | x | x | COPY "d:Datei.ext" TO "d:datei.ext": Kopiert die Datei. Fehler bei schon vorhandener Zieldatei! Platzhalter * und ? sind erlaubt. | BERP
x | x | x | x | x | COS: Cosinus, wie ABS | BERP
 | x |  | x | x | CROTATE Nummer 0..3: Dreht die Schriftrichtung beim Drucken in 90° Schritten nach rechts (0=gerade, 1=nach unten, 2=kopfüber, 3=nach oben) | BERP
x | x | x | x | x | CSAVE ["d:datei.ext"],["Passwort"]: Speichert die Programme im Speicher auf Kassette, kann mit Dateiname und Passwort versehen werden | BERP
 | x |  | x | x | CSAVE@ ["d:datei.ext"],["Passwort"]: Speichert die Programme im Speicher auf Kassette, kann mit Dateiname und Passwort versehen werden. Das Format ist kompatibel zu älteren Pocket Computern von SHARP | BERP
x | x | x | x | x | CSAVE M ["d:datei.ext",]["Passwort",] Startadresse, Endadresse: Speichert ein Maschinenprogramm auf Kassette | BERP
 | x |  | x | x | CSIZE Nummer 1..63: Größe der Druckzeichen am seriellen Drucker | BERP
 |  |  | x | x | CUB: Kubikzahl (x³), ansonsten wie ABS | BERP
 |  | x | x | x | CUR: Kubikwurzel, ansonsten wie ABS | BERP
x | x |  | x | x | CURSOR Position oder X,Y: Setzt den Cursor auf dem Bildschirm an die Stelle; X,Y als Spalte, Zeile oder 0..95 als durchgehende Positionen, zB: CURSOR 1,1 setzt an das erste Zeichen, genauso wie CURSOR 0. PC-500(S) verwendet LOCATE statt CURSOR! | BP
x | x | x | x | x | DATA Datenliste: Stellt Daten zum Lesen mit READ bereit, zB: DATA "Hallo, ich bin", "Simon", "wie geht's?", 125, 1 | BP
 |  | x | x | x | DECI: Umformung Hexadezimal -> Dezimal, ansonsten wie ABS | BERP
 |  |  | x | x | DEFDBL: Schaltet in die doppelte Genauigkeit um. | BERP
 |  |  | x | x | DEFSNG: Schaltet in die einfache Genauigkeit um. | BERP
x | x | x | x | x | DEG dd.mmssrr: Rechnet Winkelwerte aus Grad, Minuten, Sekunden in Dezimalwerte um | BERP
x | x | x | x | x | DEGREE: Schaltet in den Alt-Grad Modus | BERP
x | x | x | x | x | DELETE Zeile[, Endzeile]: Löscht Zeilen (einzeln), Bereiche von Zeilen (Startzeile, Endzeile), alles bis zu einer Zeile (DELETE,Nummer) oder alles ab einer Zeile (DELETE Nummer,) | EP
x | x | x | x | x | DIM Variablenliste: Erstellt Variablenfelder, kann mit , gereiht werden, DIM Name(Anzahl Felder)*Anzahl Zeichen (Anzahl Zeichen nur bei Zeichenfolgen!) | BERP
x | x | x | x | x | DMS: Rechnet Dezimalzahlen in Winkel mit Minuten und Sekunden um | BERP
 | x | x | x | x | DSKF (1..3): Gibt den freien Platz auf Disketten und RAM Disks an. 1=X, 2=Y, 3=F | BERP
x | x | x | x | x | END: Beendet die Ausführung eines Programms | BP
 | x | x | x | x | EOF (Dateinummer): Gibt 1 zurück, wenn das Ende einer Datei erreicht ist. Ansonsten 0. | BERP
x | x |  | x | x | ERASE Felderliste: Löscht dimensionierte Felder, kann mit , gereiht werden | BERP
 |  |  | x | x | ERL: Gibt die Zeilennummer an, in der ein Fehler erzeugt wurde. | BERP
 |  |  | x | x | ERN: Gibt die Fehlernummer an, wenn ein Fehler erzeugt wurde. | BERP
x | x | x | x | x | EXP: Rechnet ex aus, sonst wie ABS | BERP
 |  | x | x | x | FACT: Fakultät n!, ansonsten wie ABS | BERP
 | x | x | x | x | FILES "d:" oder "d:name.ext": Zeigt eine Liste mit verfügbaren Dateien (mit Schreibschutzparameter) an. Es können auch Platzhalter * und ? verwendet werden. | BERP
x | x | x | x | x | FOR: Beginnt eine Schleife, z.B.: FOR X=0 TO 10 .. NEXT X | BP
x | x |  |  | x | GCURSOR (XKoordinate,YKoordinate): Setzt den Grafikcursor auf die Stelle, muss immer mit Klammern stehen und kann nicht durchlaufend positioniert werden | BP
 | x |  | x | x | GLCURSOR (X,Y): Bewegt den Plotterstift/Druckkopf an die Stelle | BERP
x | x | x | x | x | GOSUB Zeile: Ruft ein Unterprogramm auf, es können auch Buchstabenmarken (wie DEF) und Werte in Variablen angesprungen werden | BP
x | x | x | x | x | GOTO Zeile: Führt ein Programm an der angegebenen Zeile fort, sonst wie GOSUB | BP
x | x | x | x | x | GOTO Zeile: Startet ein Programm ohne alle Variablen zu löschen | ER
x | x |  | x | x | GPRINT Wert: Zeichnet 8 Pixel hohe binäre Muster an die Stelle des Grafikcursors, zB: GPRINT 1,34,255 oder GPRINT "FF123AB0C562" (hier entspricht jeder Doppelblock FF 12 3A B0 C5 62 einer 8 Pixel Reihe) die Reihen kommen von links nach rechts | BERP
x | x | x | x | x | GRAD: Schaltet in Neu-Grad um | BERP
 | x |  | x | x | GRAPH: Schaltet den Drucker in den Grafikmodus | BERP
 |  | x | x | x | HCS: Hyperbolischer Cosinus, ansonsten wie ABS | BERP
 |  | x | x | x | HEX: Umwandlung von Dezimalzahlen -> Hexadezimal, ansonsten wie ABS | BERP
 |  | x | x | x | HEX$: Umwandlung von Dezimalzahlen -> Hexadezimalstring | BERP
 |  | x | x | x | HSN: Hyperbolischer Sinus, ansonsten wie ABS | BERP
 |  | x | x | x | HTN: Hyperbolischer Tangens, ansonsten wie ABS | BERP
x | x | x | x | x | IF Bedingung THEN Anweisung: Bedingung für Fallunterscheidungen, wenn die Bedingung wahr ist oder >0 ergibt, ist sie wahr und die Anweisung wird ausgeführt | BP
 | x | x | x | x | INIT "d:": Formatiert den Datenträger d: | BERP
x | x | x | x | x | INKEY$ Var$: Speichert gedrückte Zeichen in der angegebenen Variable, wenn der Befehl ausgeführt wird, ohne dass eine Taste gedrückt wird, ist die Variable leer | BERP
x | x | x | x | x | INPUT ["Text";] Variablenliste: Fordert zur Eingabe von Daten auf, wie Zahlen oder Texte, je nach Variablentyp, kann auch mehrere Variablen, die mit , gereiht sind, abarbeiten. Es gibt auch noch INPUT Variable ohne Texterklärung und INPUT "Text", Variable | BP
x | x | x | x | x | INPUT # Variablenliste: Lädt Variablenwerte von Kassette, kann auch mit [,] gereiht werden und erlaubt die Verwendung von Dateinamen, Felder müssen mit Name(*) geladen werden | BERP
x | x |  | x | x | INPUT #1 Variablenliste: Lädt Variablen über die serielle Schnittstelle, Felder wie INPUT # | BERP
 | x |  | x | x | INPUT #2-7,20-25 Variable: Liest aus einer Datei | BERP
x | x | x | x | x | INT: Schneidet den Nachkommaanteil ab und liefert eine ganze Zahl, z.B.: X= INT Y | BERP
 | x | x | x | x | KILL "[d:]datei": Löscht die Datei | BERP
x | x | x | x | x | LEFT$ (String,Länge): Nimmt vom linken Rand der Zeichenfolge ein Stück ab | BERP
x | x | x | x | x | LEN String: Liefert die Länge der Zeichenfolge | BERP
x | x | x | x | x | LET: muss bei IF verwendet werden, wenn Variablen definiert werden, zB: IF X=10 LET X=9 | BP
 | x |  | x | x | LF [Anzahl Zeilen]: Papiervorschub beim Drucker, kann mit einer Zahl zum Vorschub von mehr Zeilen verwendet werden | BERP
 | x | x | x | x | LFILES: Wie FILES, nur mit Ausdruck auf Drucker. | BERP
x | x |  |  | x | LINE (X1,Y1)-(X2,Y2)[,Attribute]: Malt Linien von Punkt 1 zu Punkt 2; Attribute: S/R/X,Muster,B/BF Muster ist ein Wert 0..65535, der die binäre Generierung jedes Pixels bestimmt, S = setzt die Pixel, R = löscht die Pixel, X = invertiert die Pixel; B = malt ein Rechteck, BF = malt ein ausgefülltes Rechteck | BERP
x | x | x | x | x | LIST Zeile: Zeigt die Zeile mit der Nummer oder dem Index (wie DEF) | EP
 | x |  | x | x | LLINE: wie LINE, nur am seriellen Drucker | BERP
x | x | x | x | x | LLIST [Startzeile],[Endzeile]: wie LIST, druckt die Zeilen aus ohne sie anzuzeigen | EP
x | x | x | x | x | LN: Rechnet den ln aus | BERP
x | x |  | x | x | LOAD: Lädt ein Programm vom seriellen Interface (nach OPEN) | ERP
 | x | x | x |  | LOAD "[d:]Datei.ext": Lädt ein Programm aus einer Datei | ERP
 |  |  |  | x | LOAD "[d:]Datei.ext" [,R]: Lädt ein Programm aus einer Datei, mit ",R" wird es automatisch gestartet. | ERP
 | x | x | x | x | LOAD? [Rest wie LOAD]: Vergleicht ein Programm mit einer Datei. Bei einem Fehler kommt ERROR 8. Die Datei wird nicht geladen! | ERP
x |  | x | x | x | LOAD M [Rest wie LOAD,] Adresse: Lädt ein Maschinenprogramm aus einer Datei an die angegebene Adresse | ERP
 | x | x | x | x | LOC Dateinummer: Gibt die Zeigerposition in einer Datei an: LOC (2) | BERP
 | x | x | x | x | LOF Dateinummer: Gibt die Größe der Datei an: LOF (2) | BERP
x | x | x | x | x | LOG: Rechnet den log aus | BERP
x | x | x | x | x | LPRINT Daten: Druckt Daten am Drucker aus oder sendet sie ans serielle Interface (wenn es offen ist), wie PRINT | BERP
 | x |  | x | x | LTEXT: Schaltet den Drucker in den Textmodus | BERP
x | x | x | x | x | MDF: Rundet die Zahl auf, wenn USING verwendet wird | BERP
x | x | x | x | x | MEM: Liefert den freien Speicherplatz | BERP
 | x |  | x | x | MEM$: Liefert die Speicherkonfiguration (bei mehreren RAM-Karten) | BERP
x | x | x | x | x | MERGE ["[d:]datei.ext"]: Lädt ein Programm von Kassette in den Speicher dazu, kann mit Dateiname verwendet werden | ERP
x | x | x | x | x | MID$ (String,Startzeichen,Länge): Extrahiert eine Zeichenkette aus der Zeichenfolge | BERP
 | x | x | x | x | NAME "[d:]Altname" AS "[d:]Neuname": Benennt Dateien um | BERP
 |  |  | x | x | NCR(n,r): Kombinatorik, rechnet nCr=n!/(r!(n-r)!) aus. | BERP
x | x | x | x | x | NEW: Löscht alle Programme, bzw. den RESERVE Speicher | EP
x | x | x | x | x | NEXT Variable: Grenzt eine FOR-Schleife ab | BP
x | x | x | x | x | NOT: Logisches NOT: Dreht alle Bits einer Zahl um | BERP
 |  |  | x | x | NPR(n,r): Kombinatorik, rechnet nPr=n!/(n-r)! aus. | BERP
x | x | x | x | x | ON Bedingung GOSUB Zeilenliste: Bei Bedingung<1 wird der Befehl ignoriert, Bedingung=1 springt zur ersten Zeile, Bedingung=2 zur 2. usw. | BP
x | x | x | x | x | ON..GOTO: wie ON..GOSUB | BP
x | x |  | x | x | OPEN: öffnet die serielle Schnittstelle (solange, bis der Rechner ausgeschaltet oder CLOSE angewendet wird), erlaubt Parameter, zB: "1200,N,8,1,A,C,&1A" PC-E500 noch [AS #Dateinummer] 1200 = Baudrate 300, 600 oder 1200 (PC-E500 noch 2400, 4800 und 9600) N = Parität N (keine), E (gerade), O (ungerade) 8 = Datenbits 7 oder 8 1 = Stoppbits 1 oder 2 A = ASCII C = Return C (CHR 13: CR), F (CHR 10: LF), oder L (CR+LF) &1A = Endcode beim Programm senden und empfangen PC-E500: XON = N: kein XON Protokoll, X: XON aktiviert Umstellungscode = Für 7 Bit Daten: über SI und SO das 8. Bit übertragen: S=an, N=aus | BERP
 | x | x | x | x | OPEN "d:name.ext" FOR INPUT/OUTPUT/APPEND AS #2 bis #7 oder #20 bis #25: öffnet Dateien zum Lesen (INPUT) oder Schreiben (OUTPUT) oder Anhängen (APPEND). Die Datei kann mit INPUT #Nummer und PRINT #Nummer benutzt werden. CLOSE #Nummer schließt sie. #2-#7: Dateien auf Disketten #20-#25: Dateien auf RAM-Disk | BERP
x | x |  | x | x | OPEN$: Zeigt die Einstellungen von OPEN an | BERP
 | x |  | x | x | PAINT Wert: Füllt Grafiken beim Drucker mit Schraffur-Mustern | BERP
x | x | x | x | x | PASS "Passwort": Erstellt oder löscht den Passwortschutz | ERP
x | x | x | x | x | PAUSE Daten: Wie PRINT, nur wartet der PC 0.85 Sekunden bis er weitermacht | BP
x | x | x | x | x | PEEK Adresse: Holt ein Byte 0..255 aus dem Speicher | BERP
x | x | x | x | x | PI: wie [image] , liefert die Zahl Pi | BERP
x | x |  |  | x | POINT (X,Y): Liefert den Pixelwert an der Stelle (0 oder 1) | BERP
x | x | x | x | x | POKE Adresse, Datenliste: Schreibt Bytes in den Speicher (als Zahlen angegeben!) | BERP
 |  | x | x | x | POL(X,Y): Rechtwinklige Koordinate zu Polarkoordinate. | BERP
x | x |  |  | x | PRESET (X,Y): Löscht den Pixel an der Stelle, falls er gesetzt ist | BERP
x | x | x | x | x | PRINT: Zeichenausgabe: PRINT "Text" schreibt den Text an den Cursor PRINT Variable schreibt den Inhalt PRINT Daten, Daten, Daten... schreibt 2-spaltig die Daten PRINT ;Daten schreibt an der letzten Position weiter PRINT Daten; Daten; Daten... schreibt durchgehend die Daten an PRINT Zahl: Zahlen landen rechtsbündig, Text linksbündig, ein neues PRINT beginnt eine neue Zeile | BP
x | x | x | x | x | PRINT #["[d:]datei.ext"],Variablenliste: Schreibt Daten auf die Kassette, kann mit Dateinamen verwendet werden, Felder wie bei INPUT # mit Feld(*) | BERP
x | x |  | x | x | PRINT #1,Variablenliste: Sendet Daten an das serielle Interface | BERP
 | x |  | x | x | PRINT #2 bis #7 und #20 bis #25,Variablenliste: Sendet Daten in Dateien | BERP
x | x |  |  | x | PSET (X,Y): Setzt einen Pixel an X,Y (0-149,0-31 - andere Pixel sind unsichtbar) | BERP
x | x | x | x | x | RADIAN: Schaltet in den Bogenmaß-Modus | BERP
x | x | x | x | x | RANDOM: Initialisiert den Zufallsgenerator | BERP
 |  | x | x | x | RCP: Reziproke 1/X | BERP
x | x | x | x | x | READ Variablenliste: Liest Daten von DATA | BP
 |  | x | x | x | REC(r,O): Umwandlung polare zu rechtwinklige Koordinaten | BERP
x | x | x | x | x | REM Kommentar: Fügt Kommentare ein, die nicht abgearbeitet werden | BP
x | x | x | x | x | RENUM [neue Startzeilennummer, alte Startnummer, Schritt]: Sortiert die Zeilennummern des Programms, zB: RENUM 10,271,100 10 = neue Anfangs-Zeilennummer 271 = alte Anfangs-Zeilennummer 100 = Abstände zwischen den Zeilen | EP
x | x | x | x | x | RESTORE [Zeilennummer]: Setzt den DATA Zeiger auf den Anfang oder auf einen bestimmten Wert zurück | BP
x | x | x | x | x | RETURN: Beendet ein Unterprogramm | BP
x | x | x | x | x | RIGHT$ (String,Länge): Wie LEFT$, nur dass der rechte Teil extrahiert wird | BERP
 | x |  | x | x | RLINE: wie LINE, nur für Drucker mit relativen Koordinaten | BERP
x | x | x | x | x | RND Zahl: Ermittelt eine ganze Zufallszahl im Bereich 1 bis Zahl (wenn Zahl >1), ansonsten zwischen 0 und 1 | BERP
 |  | x | x | x | Y ROT X: x-te Wurzel von y | BERP
x | x | x | x | x | RUN Zeile: Startet ein Programm und löscht alle Variablen | ER
x | x |  | x | x | SAVE: Sendet alle Programme im Speicher an die serielle Schnittstelle (nach OPEN) | ERP
 | x | x | x | x | SAVE [Rest wie LOAD] [,A]: Sendet alle Programme im Speicher in die angegebene Datei. ",A" bewirkt ASCII Übertragung | ERP
 | x | x | x | x | SAVE M ["[d:]Datei.ext",] Startadresse,Endadresse: Sendet den angegebenen Speicherbereich in die angegebene Datei | ERP
 | x | x | x | x | SET "[d:]Datei.ext","P" oder " ": Schaltet den Schreibschutz an ("P") oder aus (" ") | BERP
 | x |  | x | x | SET MEM: Bei mehreren RAM-Karten: Stellt verschiedene Betriebsarten ein, zB: SET MEM "D" = Programme nur in Karte 1 und Variablen nur in Karte 2 SET MEM "B" = alle 2 Karten zusammen werden genutzt SET MEM "C" = nur Karte 1 wird genutzt PC-1475: SET MEM "1" = Nur die erste RAM Karte wird benutzt. SET MEM "2" = Nur die zweite RAM Karte wird benutzt. | ERP
x | x | x | x | x | SGN: Liefert das Vorzeichen (1, 0 oder -1) | BERP
x | x | x | x | x | SIN: Rechnet den Sinuswert aus | BERP
 | x |  | x | x | SORGN: Setzt die Position des Zeichenstifts/Druckkopfs als neuen Ursprung | BERP
x | x | x | x | x | SQR: Zieht die Wurzel, wie | BERP
 |  | x | x | x | SQU: Quadrat x² | BERP
x | x | x | x | x | STOP: Hält das Programm an, wie die BRK Taste | BP
x | x | x | x | x | STR$: Wandelt eine Zahl in eine Zeichenfolge um: Aus X=12.34 wird mit STR$ X = "12.34" | BERP
x | x | x | x | x | TAN: Rechnet den Tangens aus | BERP
 |  | x | x | x | TEN: Antilogarithmus 10x | BERP
 | x |  | x | x | TEXT: Schaltet in den Textmodus, so dass Programme als Text editierbar sind (nicht so praktisch) | EP
x | x | x | x | x | TROFF: Schaltet den Trace-Modus aus | ERP
x | x | x | x | x | TRON: Schaltet den Trace-Modus an: Jede Zeile wird einzeln ausgeführt und angezeigt | ERP
x | x | x | x | x | USING "Formatdefinition": Definiert Formate für die Zeichenausgabe, jedes Formatsymbol steht für ein Zeichen auf der Anzeige, zB: # = Ziffer, . = Dezimalpunkt, ^ = Exponent, & = Zeichen, alles darf vermischt werden | BERP
x | x | x | x | x | VAL Zeichenfolge: Wandelt Zeichenfolgen in Zahlen um | BERP
x | x | x | x | x | WAIT: Lässt den PC nach jeder Ausgabe warten, kann mit WAIT 0 abgeschaltet werden, WAIT Zahl bewirkt eine definierte Zeitverzögerung | BERP
 |  | x | x | x | Zahl1 XOR Zahl2: Logisches XOR: Setzt Bits wenn entweder das Bit in der ersten Zahl oder der zweiten Zahl gesetzt ist. | BERP


Maschinensprache

  • Mnemonicliste
  • Registerüberblick
  • Test-Befehl
  • Besonderheiten bei PC-1360
    • Ports
      • A-Port
      • B-Port
      • C-Port
      • F-Port
      • Ports im RAM
        • Adresse &3E00
        • Adresse &3800
        • Adresse &3400
    • Keyboardanschluss
  • Besonderheiten bei PC-1350
    • Ports
      • B-Port
      • F-Port
    • Keyboardanschluss
  • Besonderheiten bei PC-140x
    • Ports
      • &3A00
      • &3C00
      • B-Port
      • F-Port
    • Keyboardanschluss
  • Besonderheiten bei PC-1421
    • Ports
      • B-Port
      • F-Port
    • Keyboardanschluss
  • Besonderheiten bei PC-1260
    • Ports
      • B-Port
      • F-Port
    • Keyboardanschluss

Hier habe ich die wichtigsten Informationen zur Maschinensprache zusammengestellt:

Mnemonics

Mnemonic | Code | Wirkung | Flags | # | Zyklen | Bemerkung
 |  |  | C Z
ADB | 20 | (P)+A->(P) | * * | 1 | 5 | P+1->P
 |  | (P+1)+B+C->(P+1)
ADCM | 196 | (P)+A+C->(P) | * * | 1 | 3
ADIA n | 116,n | A+n->A | * * | 2 | 4
ADIM n | 112,n | (P)+n->(P) | * * | 2 | 4
ADM | 68 | (P)+A->(P) | * * | 1 | 3
ADN | 12 | (P)+A->(P)... | * * | 1 | 7+3*I | P-I-1->P
 |  | (P-I)+C->(P-I) |  |  |  | BCD
ADW | 14 | (P)+(Q)->(P)... | * * | 1 | 7+3*I | P-I-1->P
 |  | (P-I)+(Q-I)+C-> |  |  |  | Q-I-2->Q
 |  | (P-I) |  |  |  | BCD
ANIA n | 100,n | A AND n->A | - * | 2 | 4
ANID n | 212,n | (DP) AND n>(DP) | - * | 2 | 6
ANIM n | 96,n | (P) AND n->(P) | - * | 2 | 4
ANMA | 70 | (P) AND A->(P) | - * | 1 | 3
CAL nm | 224,n,m | PC+2>(R-1,R-2) | - - | 2 | 7 | 0<=n<=31
 |  | R-2->R, nm->PC
CALL nm | 120,n,m | PC+3->(R-1,R-2), | - - | 3 | 8
 |  | R-2->R, nm->PC
CPIA n | 103,n | A-n | * * | 2 | 4
CPIM n | 99,n | (P)-n | * * | 2 | 4
CPMA | 199 | (P)-A | * * | 1 | 3
DATA | 53 | (BA)...(BA+1)-> | - - | 1 | 11+4*I | auch für
 |  | (P)...(P+1) |  |  |  | int. ROM
DECA | 67 | A-1->A | * * | 1 | 4 | 2->Q
DECB | 195 | B-1->B | * * | 1 | 4 | 3->Q
DECI | 65 | I-1->I | * * | 1 | 4 | 0->Q
DECJ | 193 | J-1->J | * * | 1 | 4 | 1->Q
DECK | 73 | K-1->K | * * | 1 | 4 | 8->Q
DECL | 201 | L-1->L | * * | 1 | 4 | 9->Q
DECP | 81 | P-1->P | - - | 1 | 2
DECV | 75 | V-1->V | * * | 1 | 4 | 10->Q
DECW | 203 | W-1->W | * * | 1 | 4 | 11->Q
DX | 5 | X-1->X, X->DP | - - | 1 | 6 | 5->Q
DXL | 37 | X-1->X, X->DP, | - - | 1 | 7 | 5->Q
 |  | (DP)->A
DY | 7 | Y-1->Y, Y->DP |  | 1 | 6 | 7->Q
DYS | 39 | Y-1->Y, Y->DP, | - - | 1 | 7 | 7->Q
 |  | A->(DP)
ETC | 105 | FOR i=1 TO H | - * | ) | 1)
n,m | n,nm | IF A=n nm->PC
... |  | NEXT i
nm
EXAB | 218 | A<->B | - - | 1 | 3
EXAM | 219 | A<->(P) | - - | 1 | 3
EXB | 11 | (P)...(P+J)<-> | - - | 1 | 6+3*J | P+J+1->P
 |  | (Q)...(Q+J) |  |  |  | Q+J+1->Q
EXBD | 27 | (P)...(P+J)<-> | - - | 1 | 7+6*J | P+J+1->p
 |  | (DP)...(DP+J) |  |  |  | DP+J->DP
EXW | 9 | (P)...(P+I)<-> | - - | 1 | 6+3*I | P+I+1->P
 |  | (Q)...(Q+I) |  |  |  | Q+I+1->Q
EXWD | 25 | (P)...(P+I)<-> | - - | 1 | 7+6*I | P+I+1->P
 |  | (DP)...(DP+I) |  |  |  | DP+I->DP
FILD | 31 | A->(DP)...(DP+I) | - - | 1 | 4+3*1 | DP+I->DP
FILM | 30 | A->(P)...(P+I) | - - | 1 | 5+I | P+I+1->P
INA | 76 | IA-Port->A | - * | 1 | 2
IMB | 204 | IB-Port->A | - * | 1 | 2
INCA | 66 | A+1->A | * * | 1 | 4 | 2->Q
INCB | 194 | B+1->B | * * | 1 | 4 | 3->Q
INCI | 64 | I+1->I | * * | 1 | 4
IMCJ | 192 | J+1->J | * * | 1 | 4 | 1->Q
INCK | 72 | K+1->K | * * | 1 | 4 | 8->Q
JNCL | 200 | L+1->L | * * | 1 | 4 | 9->Q
INCP | 80 | P+1->P | - - | 1 | 2
INCV | 74 | V+1->V | * * | 1 | 4 | 10->Q
INCW | 202 | W+1->W | * * | 1 | 4
IX | 4 | X+1->X, X->DP | - - | 1 | 6 | 5->Q
IXL | 36 | X+1->X, X->DP, | - - | 1 | 7 | 5->Q
 |  | (DP)->A
IY | 6 | Y+1->Y, Y->DP | - - | 1 | 6 | 7->Q
IYS | 38 | Y+1->Y, Y->DP, | - - | 1 | 7 | 7->Q
 |  | A->(DP)
JP nm | 121,n,m | nm->PC | - - | 3 | 6
JPC nm | 127,n,m | IF C=1 nm->PC | - - | 3 | 6
JPNC nm | 125,n,m | IF C=0 nm->PC | - - | 3 | 6
JPNZ nm | 124,n,m | IF Z=0 nm->PC | - - | 3 | 6
JPZ nm | 126,n,m | IF Z=1 nm->PC | - - | 3 | 6
JPZM n | 57,n | IF Z=1 | - - | 2 | 7/4
 |  | PC+1-n->PC
JRCN n | 59,n | IF C=1 | - - | 2 | 7/4
 |  | PC+1-n->PC
JRCP n | 58,n | IF C=1 | - - | 2 | 7/4
 |  | PC+1+n->PC
JRM n | 45,n | PC-1-n->PC | - - | 2 | 7
JRNCM n | 43,n | IF C=0 |  | 2 | 7/4
 |  | PC+1-n->PC
JRNCP n | 42,n | IF C=0 | - - | 2 | 7/4
 |  | PC+1+n->PC
JRNZM n | 41,n | IF Z=0 | - - | 2 | 7/4
 |  | PC+1-n->PC
JRNZP n | 40,n | IF Z=0 | - - | 2 | 7/4
 |  | PC+1+n->PC
JRP n | 44,n | PC+1+n->PC | - - | 2 | 7
JRZN n | 57,n | IF Z=1 | - - | 2 | 7/4
 |  | PC+1-n->PC
JRZP n | 56,n | IF Z=1 | - - | 2 | 7/4
 |  | PC+1+n->PC
LDD | 87 | (DP)->A | - - | 1 | 3
LDM | 89 | (P)->A | - - | 1 | 2
LDP | 32 | P->A | - - | 1 | 2
LDQ | 33 | Q->A | - - | 1 | 2
LDR | 34 | R->A | - - | 1 | 2
LIA n | 2,n | n->A | - - | 2 | 4
LIB n | 3,n | n->B | - - | 2 | 4
LIDL m | 17,m | m->DPL | - - | 2 | 5
LIDP nm | 16,n,m | nm->DP | - - | 3 | 8
LII n | 0,n | n->I | - - | 2 | 4
LIJ n | 1,n | n->J | - - | 2 | 4
LIP n | 18,n | n->P | - - | 2 | 4
LIQ n | 19,n | n->Q | - - | 2 | 4
LOOP n | 47,n | (R)-1->(R), IF | * * | 2 | 10/7
 |  | C=0 DP+1-n->DP
LP n | 128+n | n->P | - - | 1 | 2 | 0<=n<63
MVB | 10 | (Q)...(Q+J)-> | - - | 1 | 5+2*J | P+J+1->P
 |  | (P)...(P+J) |  |  |  | Q+J+1->Q
MVBD | 26 | (DP)...(DP+J)-> | - - | 1 | 5+4*J | P+J+1->P
 |  | (P)...(P+J) |  |  |  | DP+J->DP
MVDM | 83 | (P)->(DP) | - - | 1 | 3
MVMD | 85 | (DP)->(P) | - - | 1 | 3
MVW | 8 | (Q)...(Q+I)-> | - - | 1 | 5+2*I | P+I+1->P
 |  | (P)...(P+I) |  |  |  | Q+I+1->Q
MVWD | 24 | (DP)...(DP+I)-> | - - | 1 | 5+4*I | P+I+1->P
 |  | (P)...(P+I) |  |  |  | DP+I->DP
NOPT | 206 | No Operation | - - | 1 | 3
NOPW | 77 | No Operation | - - | 1 | 2
ORIA n | 101,n | A OR n->A | - * | 2 | 4
ORID n | 213,n | (DP) OR n->(DP) | - * | 2 | 6
ORIM n | 97,n | (P) OR n->(P) | - * | 2 | 4
ORMA n | 71,n | (DP) OR n->(DP) | - * | 1 | 3
OUTA | 93 | (92)->IA-Port | - - | 1 | 3 | 92->Q
OUTB | 221 | (93)->IB-Port | - - | 1 | 2 | 93->Q
OUTC | 223 | (95)->C-PORT | - - | 1 | 2
OUTF | 95 | (94)->F0-Port | - - | 1 | 3 | 94->Q
POP | 91 | (R)->A, R+1->R | - - | 1 | 2
PTC | 122 | n->H,nm->(R-1, | - * | 4 | 9
 |  | R-2), R-2->R
PUSH | 52 | (R)->A, R-1->R | - - | 1 | 3
RC | 209 | 0->C, 1->Z | * * | 1 | 2
RTN | 55 | (R-1,R-2)->PC | - - | 1 | 4
 |  | R+2->R
SBB | 21 | (P)-1->(P) | * * | 1 | 5 | P+1->P
 |  | (P+1)-B-C->(P+1)
SBCM | 197 | (P)-A-C->(P) | * * | 1 | 3
SBIA n | 117,n | A-n->A | * * | 2 | 4
SBIM n | 113,n | (P)-n->(P) | * * | 2 | 4
SBM | 69 | (P)-A->(P) | * * | 1 | 3
SBN | 13 | (P)-A->(P) | * * | 1 | 7+3*I | P-I-1->P
 |  | (P-I)-C->(P-I) |  |  |  | BCD
SBW | 15 | (P)-(Q)->(P) | * * | 1 | 7+3*I | P-I-1->P
 |  | (P-I)-(Q-I)-C-> |  |  |  | Q-I-2->Q
 |  | (P-I) |  |  |  | BCD
SC | 208 | 1->C, 1->Z | * * | 1 | 2
SL | 90 | C->A7...A0->C | - - | 1 | 2
SLW | 29 | (P-1)...(P) | - - | 1 | 5+I | P-I-1->P
 |  | 4 Bit SL
SR | 210 | C->A0...A7->C | * - | 1 | 2
SRW | 28 | (P)...(P+I) | - - | 1 | 5+I | P+I+1->P
 |  | 4 Bit SR
STD | 82 | A->(DP) | - - | 1 | 2
STP | 48 | A->P | - - | 1 | 2
STQ | 49 | A->Q | - - | 1 | 2
STR | 50 | A->R | - - | 1 | 2
SWP | 88 | A0...A3<-> | - - | 1 | 2
 |  | A4...A7
TEST n | 107,n | TEST-Byte AND n | - * | 2 | 4
TSIA n | 102,n | A AND n | - * | 2 | 4
TSID n | 214,n | (DP) AND n | - * | 2 | 6
TSIM n | 98,n | (P) AND n | - * | 2 | 4
WAIT n | 78,n | No Operation | - - | 2 | 6+n

Register

Register | Adresse | Beschreibung
P |  | 7 bit interner RAM Pointer
Q |  | 7 bit interner RAM Pointer
R |  | 7 bit interner RAM Stack Pointer
PC |  | 16 bit Programm Counter
DP |  | 16 bit Data Pointer
Z |  | Zero Flag
C |  | Carry Flag
D |  | Interner Index (nicht für Benutzer zugänglich)
I | &00 | Index
J | &01 | Index
A | &02 | Main Accumulator
B | &03 | Secondary Accumulator
XL | &04 | X = XL + 256 x XH
XH | &05
YL | &06 | Y = YL + 256 x YH
YH | &07
K | &08 | Allgemein
L | &09 | Allgemein
M | &0A | Allgemein
N | &0B | Allgemein
 | &0C - &5B | System Stack (Beginnt bei &5B und verringert sich)
IA | &5C | I/O Port A
IB | &5D | I/O Port B
FO | &5E | I/O Port F
OUTC | &5F | Control Port
OR X | &10 - &17 | Operationsregister
OR Y | &18 - &1F | Operationsregister
OR Z | &20 - &27 | Operationsregister
OR W | &28 - &2F | Operationsregister
ERL | &34 | Fehlernummer bei Fehlern
LB,HB | &3E, &3F | Momentane Zeilennummer
LB,HB | &38, &39 | Anfang des BASIC-Blocks, in dem das Programm liegt
LB,HB | &3A, &3B | Adresse einer mit Suche gefundenen Zeile
LB,HB | &3C, &3D | Die Zeilennummer der gefundenen Zeile

Besonderheiten bei PC-1360

Ports

A Port

Bit | Beschreibung
0-7 | Keyboard Spalte

B Port

Bit | Beschreibung
0 | -
1 | -
2 | -
3 | Pin 8 Drucker, I
4 | Pin 9 Drucker, IO
5 | Pin 3 seriell, IO
6 | Pin 5 seriell, IO
7 | Pin 8 seriell, IO

C Port

Bit | Beschreibung
0 | Anzeige 1=An/0=Aus
1 | Counter Reset
2 | CPU Halt
3 | Computer 0=An/1=Aus
4 | Beeper Frequenz 0=2kHz/1=4kHz
5 | Beeper 1=An/0=Aus (Aus: Bit 4: Beeper 1=An/0=Aus)
6 | -
7 | -

F Port

Bit | Beschreibung
0 | -
1 | Pin 2 seriell, O
2 | RAM Bank umschalten, 0=Bank 0, 1=Bank 1
3 | -
4 | -
5 | -
6 | -
7 | -

Test Befehl

Bit | Beschreibung
0 | System clock 512 ms
1 | System clock 2 ms
2 | -
3 | BRK/ON Taste
4 | -
5 | -
6 | RESET Taste
7 | Kassetteneingang - Pin 6 Drucker, I

RAM Ports

Adressen &3E00-&3EFF

Wert | Beschreibung
0-7 | Keyboard Reihe

Adressen &3800-&38FF

Bit | Beschreibung
0 | Pin 4 seriell und 11 Drucker, O
1 | Pin 14 seriell, O
2 | Pin 11 seriell, O
3 | -
4 | -
5 | -
6 | -
7 | -

Adressen &3400-&34FF - ROM Bank Schalter

Wert | Beschreibung
0 | Bank 0
1 | Bank 1
2 | Bank 2
3 | Bank 3
4 | Bank 4
5 | Bank 5
6 | Bank 6
7 | Bank 7

Tastaturverschaltung PC-1360

Besonderheiten bei PC-1350

Port B (&5D = 93 internes RAM)

Bit | Pin | D=11-Pin-Interface | I=Ein-,O=Ausgabe
4 | 11 | D | IO
5 | 10 | D | IO
6 | 9 | D | IO
7 | 8 | D | IO

Port F (nur Ausgabe, &5E = 94 internes RAM)

Bit | Pin Printer
1 | 5
2 | 4

Tastaturverschaltung PC-1350

Besonderheiten bei PC-140x

Adresse &3A00-FF = 14848-15103 (nur Ausgabe) bei 1403H

Bit | Pin 11-Pin-Interface
0 | 11
1 | 10
2 | 5
3 | 8

Adresse &3C00-&3DFF (nur Eingang) bei 1403H

Bit | Pin 11-Pin-Interface
7 | 9

Port B (&5D = 93 internes RAM) bei 140x

Bit | Pin | D=11-Pin-Interface | I=Ein-,O=Ausgabe
6 | 9 | D | I(O?) nicht 1403(H)
7 | 8 | D | IO auch 1403(H)

Port F (nur Ausgabe, &5E = 94 internes RAM)

Bit | Pin
0 | 4
1 | 5
2 | 4 nur bei 1403(H)

Tastaturverschaltung PC-140x

Besonderheiten bei PC-1421

Port B (&5D = 93 internes RAM)

Bit | Pin | D=11-Pin-Interface | I=Ein-,O=Ausgabe
6 | 9 | D | IO
7 | 8 | D | IO

Port F (nur Ausgabe, &5E = 94 internes RAM)

Bit | Pin Printer
0 | 4
1 | 5

Tastaturverschaltung PC-1421

Besonderheiten bei PC-1260

Port B (&5D = 93 internes RAM)

Bit | Pin | D=11-Pin-Interface | I=Ein-,O=Ausgabe
6 | 9 | D | IO
7 | 8 | D | IO

Port F (nur Ausgabe, &5E = 94 internes RAM)

Bit | Pin Printer
0 | 4
1 | 5

Tastaturverschaltung PC-126x


Glossar

Adresse

Eine Adresse bezeichnet eine bestimmte Stelle im Speicher, die ein [image] Byte enthält.

Akku

Akku = Akkumulator. Eine Batterie, die wieder aufgeladen werden kann.

Array

Array = [image] Feld.

ASCII

Der ASCII-Code weist jedem [image] Byte ein Symbol zu. Nur so ist der Computer in der Lage, auch Buchstaben zu verarbeiten! Der Code von A ist z.B. 65.

Assembler

Der Assembler ist ein [image] Programm, das die einfache Eingabe von [image] Maschinensprache ermöglicht.

BASIC

Eine einfache Programmiersprache, die meist von einem [image] Interpreter ausgeführt wird. Die Befehle dieser Sprache sind in gut verständlichem Englisch.
Hier gibt es die BASIC-Befehle für den PC-1360

Baudrate

Ein Baud bedeutet ein Schaltvorgang pro Sekunde. Wenn das Signal also mit 1200 Baud übertragen wird, bedeutet das 1200 Umschaltungen in der Sekunde. Da Start- und Stoppbits bei der [image] seriellen Übertragung auch mitzählen, kommt man je nach Einstellung auf entsprechende Datnübertragungsraten.

BCD-Format

Das BCD-Format ermöglicht die Codierung von Fließkommazahlen in [image] Bytes. Dabei wird jedes Byte in 2 Blöcke á 4 [image] Bits zerlegt. Diese Halbbytes nennt man auch Nibbel.

Bit

Ein Bit ist die kleinste Einheit, mit der Computer arbeiten. Es kann entweder 0 oder 1 sein.

Byte

Ein Byte ist eine Speicherstelle im Computer. Sie besteht aus 8 [image] Bits und kann in einem Durchgang gelesen oder geschrieben werden. Ein Byte kann 2^8 = 256 verschiedene Werte annehmen. Das erste Bit heißt Bit 0 und hat den Wert 2^0 = 1. Das zweite Bit 1 mit 2^1 = 2. Bis zum letzten mit dem Wert 2^7 = 128. Setzt man z.B. Bit 3 und 7 bedeutet das die Zahl 2^3+2^7 = 8+128 = 136.

CMOS

Eine Chiptechnologie, die wenig Strom verbraucht.

Compiler

Ein Compiler übersetzt ein [image] Programm schon vor der Ausführung in [image] Maschinensprache. Dadurch ist die Geschwindigkeit bei der Ausführung sehr hoch. Allerdings kann man Fehler nur im Compiler selbst bestimmen und beheben.

CPU

Central Processing Unit = Zentrale Verarbeitungs-Einheit. Dieser hochkomplexe Mikrochip verarbeit die Programme in seinem Speicher und kommuniziert mit anderen Bauteilen über die [image] Ports.

DEF

Die DEF-Taste erlaubt den Schnellstart von [image] Programmen. Ein Programm, das mit Zeile "A" Programm... beginnt, kann also mit DEF + A gestartet werden!

Emulator

Ein Emulator bildet ein Gerät auf einem anderen Computer nach.

EOT-Code

Der Pocket-Computer sendet nach einer Programmübertragung ein spezielles [image] Byte. Im Normalfall ist das &1A.

Feld

Ein Feld besteht aus mehreren [image] Variablen, die durch eine Nummer unterschieden werden, dabei aber den selben Namen tragen. Beispiel: DIM A(4) besteht aus 5 Variablen A, nämlich A(0) bis A(5). Es gibt auch mehrdimensionale Felder, die durch mehrere Nummern bestimmt werden: DIM A(2,3). Hier gibt es also A(0,0) A(0,1)... A(2,0)... A(2,3)

Funktion

Ein Befehl, der Werte zurück liefern kann.

HB

HB = Highbyte. Es ist der obere Teil eines [image] Word.

Header

Ein Header enthält wichtige Informationen zu etwas. Die [image] RAM-Karten bekommen während des MEM CLEAR einen Header, der Informationen zum [image] BASIC-Programm, [image] Reserve Modus, etc. enthält. Auch jede mit DIM eingerichtete [image] Variable hat einen Header, der die Größe, Länge, den Namen und die Art (Zahl oder [image] String) speichert.

Hexadezimal

Hexadezimale Zahlen gehen über unser 10er-System hinaus. Jede Ziffer kann 16 Werte annehmen, von 0 bis 9 und noch A bis F. Um diese Zahlen kenntlich zu machen, benutzt man meist ein kleines h oder &-Symbol.

Interface

Interface = Schnittstelle. Ein Interface kann einen Computer mit anderen Geräten verbinden.

Interpreter

Ein Interpreter führt ein [image] Programm Befehl für Befehl aus. Dadurch können Fehler sehr schnell aufgespührt werden. Der Nachteil ist die niedrige Geschwindigkeit.

LB

LB = Lowbyte. Es ist der untere Teil eines [image] Word.

Mapping

Die Daten auf der [image] RAM-Karte werden gemappt, wenn der Speicher kleiner ist als der Computer als Maximum verwalten kann. Das heißt, dass ein Zugriff auf zwei verschiedene [image] Adressen das gleiche [image] Byte auf der RAM-Karte ansprechen. Das Display ist ebenfalls gemappt.

Maschinensprache

Maschinensprache besteht aus [image] Mnemonics, die in einen [image] Assembler eingegeben werden. Der Computer führt die vom Assembler erstellten Programme dann aus.

Mnemonic

Die leichter verständliche Bezeichnung für einen Computerbefehl (OP-Code). Diese Befehle entsprechen Zahlen, die für den Computer bestimmte Bedeutungen haben. LIA ist ein Mnemonic. Die entsprechende Zahl ist 2. Einige Befehle benötigen noch Parameter, die dann hinter dem Befehl stehen.

Operator

Ein Rechenbefehl wie Mal, Geteilt oder auch logische Operatoren, die [image] Bits verknüpfen, wie AND, OR oder NOT.

Parität

Es gibt eine gerade und eine ungerade Parität. Sie dient zur Fehlererkennung. Dabei wird ein zusätzliches [image] Bit an die Datenbits der [image] seriellen Übertragung angehängt. Bei gerader P. wird das Bit gesetzt wenn die Anzahl der HIGH-Datenbits eine gerade Zahl ergeben. Analog für ungerade P.

Pointer

Ein Pointer enthält eine [image] Adresse. Er zeigt also auf eine Speicherstelle. Beispiel: Der BASIC-Pointer. Er zeigt auf den Anfang des Programms.

Port

Ports sind digitale Ein- und Ausgänge an der [image] CPU. Sie können mit speziellen Befehlen angesteuert werden.

Program Modus

In diesem Modus können Programme bearbeitet werden.

Programm

Eine Aneinanderreihung von Befehlen und Daten, die eine bestimmte Funktion haben. Ein [image] BASIC-Programm besteht z.B. aus vielen BASIC-Befehlen.

RAM

RAM = Random Access Memory. Ein Speicher, der gelesen und beschrieben werden kann.

Register

Ein Register ist eine Speicherstelle im internen [image] RAM der [image] CPU. Sie kann mit speziellen Befehlen gelesen und geschrieben werden. Alle Register sind nur der CPU zugänglich. Es gibt sogar Register, die nicht auslesbar sind.

Reserve Modus

Der Reserve Modus erlaubt die Eingabe von Daten und Befehlen, die dann mit SHIFT + Buchstabe direkt eingefügt werden können.

ROM

ROM = Read Only Memory. Dieser Speicher kann nur gelesen werden. Schreibzugriffe werden ignoriert. Im PC-1360 ist das ROM in Bänke unterteilt. Es gibt 8 Bänke und das interne ROM der [image] CPU.

Run Modus

Im Run Modus können Programme gestartet werden. Dafür kann das Programm nicht verändert werden.

Serielle Schnittstelle

Die serielle Schnittstelle ist die Verbindung zur Außenwelt. Das Protokoll besteht aus einem Startbit, Datenbits, [image] Parität und Stoppbits. Die Übertragungsgeschwindigkeit wird mit der [image] Baudrate festgelegt.

SIO

SIO = [image] serielle Schnittstelle.

Stack

Ein Bereich im Speicher der [image] CPU. Hier legt die CPU die Rückkehradressen des Programms ab, wenn ein Unterprogramm mit CALL gestartet wird.

String

Ein String ist eine Zeichenkette, die aus einem oder mehreren [image] Bytes besteht. Jedes Zeichen ist im [image] ASCII-Code gespeichert.

Variable

Variablen sind veränderbare Speicherstellen. Sie besitzten immer einen Namen, mit dem man auf sie zugreifen kann. Beim PC-1360 sind maximal zwei Stellen erlaubt: A, AB und B2 sind gültige Namen. Nicht erlaubt sind Sonder- und Leerzeichen, sowie Zahlen am Anfang oder [image] BASIC-Befehle. Belegen kann man Variablen mit = . Beispiel: A = 10
Um einen Text in einer Variable zu speichern, muss man ein $-Zeichen an den Namen anhängen: AB$ = "Text". Der Text muss dabei in Anführungsstriche gestellt werden! Eine solche Variable nennt man [image] String-Variable. Variablen können auch in [image] Felder gefasst werden.

Word

Ein Word besteht aus 2 [image] Bytes, dem [image] LB und dem [image] HB. Der Wert eines Word ist HB * 256 + LB.

Zeilenendcode

Der Zeilenendcode wird am Ende jeder Zeile bei der [image] seriellen Übertragung gesendet. CR bedeutet Chr(13) und LF = Chr(10), CR+LF ist also beide hintereinander.


Schwächen

Das Programm hat wenige Schwächen, die hauptsächlich mit den Windowselementen zu tun haben:

  • PocketASM öffnet binäre Dateien nur unvollständig.
  • Das Programm ist relativ groß im Vergleich zu Notepad oder Visual Basic Programmen, das liegt am kompletten Code ohne externe .dll Dateien.


Versionsgeschichte

5.x Serie:
  • TransDrive-speichern-Bug (BASIC Befehle hintereinander als Text gespeichert) behoben
  • TransDrive-laden-Bug (binäre Zeilennummern mit CHR 13 als neue Zeile behandelt) behoben
  • Ganzes Wort bei Suche und Ersetzen repariert
  • Programmgrößenberechnung
  • Zeilenbeschränkung aktivierbar
  • Assemblieren zu Hexadezimalcode repariert
  • Makrosystem auf besseres Verfahren umgestellt
  • Parität
  • Umrechner mit Rechtsklick direkt im Quelltext
  • RENUM verbessert
  • Suche verbessert
  • schnelles Ersetzen
  • Toolbar mit Icons
  • Menu mit Icons
  • viele Bugs beseitigt (Assemblieren zu Dezimal erst nach Binär, etc)
  • Transdrive-Dateien Unterstützung
  • Sprungmarken suchen
  • Unterstützung für verschiedene Pocket Computer
  • Disassembler jetzt ohne LII Bug

4.x Serie:
  • Makros jetzt zum Selbermachen
  • Makros im Baum
  • noch mehr Bugs gefunden und beseitigt
  • neuer Umrechner ASCII
  • Memo ist jetzt RichText
  • Cursorposition wird sofort aktualisiert
  • Autovervollständigen
  • Bugs im Senden/Empfangen beseitigt
  • Bugs im Makrosystem beseitigt
  • Markierter Text wird gesondert gesendet/empfangen
  • Suchen/Ersetzen mit ganzen Wörtern

3.x Serie:
  • Einsetzen mit Beschreibung der Anweisungen
  • interner Assembler von Laurent Duveau
  • Bugs im neuen Assembler (war ja klar :-)
  • Ins Fenster assemblieren
  • Beseitigte "Fehler in Zeile xxx" Bugs
  • Umrechner
  • BASIC Renum
  • Feste Makros im Menu Bearbeiten zum Einsetzen
  • Bugs gefunden
  • neue Dateitypen zum Öffnen und Speichern

2.xx Serie:
  • Sprachdateien
  • Info über die Mnemonics in der Statuszeile beim Tippen
  • Dateien konvertieren
  • Datentransfer über serielle Schnittstelle
  • Bugs gefunden und beseitigt

1.x Serie:
  • Editor mit externen Assembler
  • Memofeld mit maximal 65535 Bytes Kapazität
  • jede Menge Bugs im Assembler
  • Statuszeile mit Cursor und Verändert
  • Warnungen beim Überschreiben, etc
  • Rückgängig, Kopieren, Einfügen, Ausschneiden, Löschen, Alles markieren, Zeilenumbruch
  • Suchen
  • Disassemblieren
  • Info
  • Hilfe
  • Drucken
  • Ersetzen
  • Einsetzen von Mnemonics