Maschinensprache i8086/ ANTWORT
Theorie:
Einleitung – Maschinensprache –
Assembler – Zahlensysteme –
RAM-Adressen – BWS – Debug –
CPU-Register – Einfache Befehle – Stringbefehle – Interrupts –
I/O-Ports
Versuch:
BWS1 – BWS2 –
Hallo Welt – Bootsektor – MBR
Nützlich:
Befehlsliste – PAUSE – Filter
Analyse:
Bootloader
Dokumentation zum Programm ANTWORT.COM
[Bearbeiten]Das Kurzprogramm ANTWORT.COM kann in Stapeldateien für Benutzerabfragen verwendet werden. ANTWORT.COM wartet auf das Betätigen einer Taste und liefert den Tastencode der gedrückten Taste als ERRORLEVEL. Diese Rückmeldung kann in IF ERRORLEVEL ... Zeilen ausgewertet werden.
Auch ohne Auswertung ist ANTWORT.COM als Ersatz für den Befehl PAUSE geeignet: ANTWORT.COM erzeugt keine Ausschrift. Man kann mit einem vorangestellten ECHO Befehl den Standardtext ("Bitte eine Taste drücken") oder einen anderen Text verwenden.
Bei erweitertem Tastencode (Funktionstasten, Tastenkombinationen u.a.) ist das erste Byte = 0 und es wird das zweite Byte gemeldet, z. B. Semikolon sowie F1 = 59, Null sowie ALT-B = 48
Die Datei ANTWORT.COM wird erzeugt, indem man die Zeilen zwischen den beiden Linien ---- als Datei "ANTWORT.SCR" herauslöst oder genau abtippt und mit dem Befehl DEBUG < ANTWORT.SCR startet:
------------ ANTWORT.SCR -------------- a 100 mov ah,8 int 21 cmp al,0 jnz 10a int 21 mov ah,4c int 21 u 100 10d r cx e n antwort.com w q ---------- Ende von ANTWORT.SCR -------
Alternativ kann man die Datei ANTWORT.COM auch erzeugen, indem man den Befehl DEBUG eingibt und dann die Zeilen zwischen den beiden Linien ---- eintippt.
Beispiel für die Verwendung des Programms ANTWORT.COM
[Bearbeiten]Da der if - Befehl nach einem ERRORLEVEL sucht, der größer oder gleich der angegebenen Zahl ist, sind Tastencodes in fallender Folge zu überprüfen. Sind die Tastencodes nicht in zusammenhängender Folge, müssen auch die fehlenden Tastencodes überprüft werden!
- Beispiel-Stapeldatei zum Formatieren
Diese kleine Stapeldatei fragt, welches Laufwerk Sie formatieren wollen. A: und B: sind erlaubt, C: und alle anderen Buchstaben sind verboten.
@echo off echo Welches Laufwerk wollen Sie formatieren? (Großbuchstabe!) antwort if not errorlevel 65 echo Zeichencode zu klein, A - C sind erlaubt if errorlevel 65 if not errorlevel 66 format a: rem Erstes IF wählt alle Tasten mit Code größer gleich 65, rem zweites IF NOT wählt alle Tasten mit Code kleiner 66. if errorlevel 66 if not errorlevel 67 format b: if errorlevel 67 if not errorlevel 68 echo Format C: ist verboten if errorlevel 68 echo Zeichencode zu groß, nur A bis C ist erlaubt