Kodierung des SLR Assemblers

1. Bei einem ersten Blick in das Programm fällt auf, dass der Kode nach einigen Datenfeldern ohne Sinn zu sein scheint.
In der Entschlüsselungsroutine ab 2459H werden zwei Programmteile entschlüsselt. Nach der jeweiligen Berechnung der Länge des Kodes werden die beiden Teile durch abwechselndes Rechts- und Linksschieben in den korrekten Kode gewandelt.
2. Bei genauer Untersuchung findet sich ein Sicherheitsmechanismus. Vor dem Schreiben in eine Datei wird geprüft, ob es sich um eine Originaldatei handelt. Stimmt der Test nicht, dann lässt sich keine Datei beschreiben. Das erwartete Resultat steht in Adresse 01A6H — das ist die erste Adresse im verschlüsselten Bereich.
Wieder unübersichtlich programmiert wird getestet, ob die Seriennummer des Programms korrekt ist.
  1. Es wird die Adresse, an der die Seriennummner — hier SB3051 — steht, geladen, allerdings statt 2A00H die halbe Adresse 1500H, die dann verdoppelt wird.
  2. Dann wird die Summe der sechs Zeichen der Seriennummer gebildet.
  3. Danach wird die Adresse über einen geheimnisvollen Offset auf das erwartete Byte berechnet und der Inhalt mit der Summe verglichen.
  4. Stimmt der Vergleich nicht, erfolgt kein Schreiben in eine Datei.
Das Programm funktioniert mit oder ohne Übereinstimmung, aber nur bei korrektem Vergleich wird eine Ausgangsdatei erzeugt.

Zurück zum SLR Assembler