Benützung der Unterbrechungen + Aus mehreren Modulen bestehenden Programmen
20 November
Termin: 4 Dezember (9 Dezember)
Theorie |
Beispiele |
Aufgaben
Theoretische Zusammenfassung:
- Unterbrechungen
- Aus mehreren Modulen bestehenden Programmen
Aufgaben:
Für die Aufgaben vom Punkt b) soll man wenigstens einen Unterprogramm schreiben, das in einem getrennten Modul implementiert ist.
(! Siehe auch die Anmerkungen von unten.)
-
-
Zeigen Sie am Bildschirm den Inhalt der Register und die Summe
ihrer ersten 4 Bits an.
-
Sei eine Folge von Zahlen gegeben. Zeigen Sie am Bildschirm
die Werte im hexadezimalen Zahlensystem an.
-
-
Lesen Sie ohne Echo Charaktere von der Tastatur. Wenn eine Ziffer
eingelesen wurde, zeigen Sie es am Bildschirm an, wenn der Charakter
'$' eingelesen wurde, beenden Sie das Programm. Im allen anderen
Fälle geben Sie den Charakter einen Puffer dazu, der am Ende am
Bildschirm angezeigt wird.
-
Lesen Sie eine Folge von Zahlen von der Tastatur, die
im hexadezimahlen Zahlensystem gegeben sind.
-
-
Wenn das aktuelle Laufwerk gleich wie das, von der Tastatur
eingelesene Laufwerk (X) ist, wählen Sie A: als implizites Laufwerk,
sonst wählen Sie das Laufwerk X:. Alle eventuellen Fehler werden
berichtet.
-
Lesen Sie eine Folge von Zahlen von der Tastatur, die
im dezimalen Zahlensystem gegeben sind.
-
-
Zeigen Sie am Bildschirm das aktuelle Datum und den aktuellen
Tag der Woche (mit Charakteren) an.
-
Lesen Sie drei Zahlen a, b und c von der Tastatur ein.
Rechnen Sie und geben Sie auf dem Bildschirm den Wert a+b-c aus
-
-
Zeigen Sie am Bildschirm die aktuelle Systemzeit in der Form
hh:mm an, und schreiben Sie 'AM' oder 'PM' daneben wenn Vormittag
bzw. Nachmittag ist.
-
Sei eine Zahl a gegeben, die auf 16 Bits, ohne Vorzeichen
dargestellt ist. Zeigen Sie am Bildschirm den Wert von a im
dezimalen Zahlensystem an; dann zeigen Sie auch die Werte an, die
man durch der zirkuläre Permutation ihrer Ziffern bekommt.
Anmerkungen: (für Punkt b))
-
"Sei ... gegeben" heißt, dass die Daten direkterweise im
Datensegment gelegt werden können.
-
"Lesen Sie... ein" heißt, dass die entsprechende Daten von der
Tastatur gelesen werden sollen.
-
Wenn nicht anders gegeben, sind die Zahlen auf 16 Bits, ohne
Vorzeichen dargestellt, und die Zeichenketten max. 100
Charaktere enthalten.
Sonderaufgaben Für + Punkt:
-
Zeigen Sie am Bildschirm die Attribute einer Datei an, deren Name
als PArameter in der Kommandozeile (*) gegeben wird.
-
Schreiben Sie ein Programm, das als Parameter (*) zwei
Verzeichnisnamen dir1 und dir2 bekommt. Legen Sie das Verzeichnis
dir1\dir2 an.
-
Schreiben Sie ein Programm, das als Parameter (*) zwei Dateinamen
bekommt. Kopieren Sie den Inhalt der Ersten Datei in die zweite. Alle
eventuellen Fehler werden berichtet.
- Schreiben Sie ein Programm, das als Parameter (*) einen Dateiname
und einen Verzeichnisname bekommt. Zeigen Sie einen entsprechenden Text
am Bildschirm an, ob die Datei sich im gegebenen Verzeichnis befindet
oder nicht.
- Schreiben Sie ein Programm, das als Parameter (*) ein Wort und eine
Dateiname bekommt. Zeigen Sie am Bildschirm an ob das Wort in der
gegebenen Datei existiert oder nicht. (hier meinen wir unter 'Wort'
einen Text)
Anmerkung (*): Die Parameter der Kommandozeile sind im PSP
(Ofsetadresse 80h bis FFh) erreichbar (siehe Norton Guide). Am Anfang
des Programmes zeigen die Register DS und ES auf den Anfang dieses
Segments.
Beispiele
- Unterbr.asm - Beispielprogramm für Benützung von Unterbrechungen
- UnterPr.asm - Beispielprogramm mit Unterprogramm
- HauptP.asm, ausgeb.asm - Beispiel für ein Programm, das aus zwei Modulen besteht
- Int.asm, Intdemo.asm -
Ein-/Ausgabe Einer, auf 16 Bits dargestellten, vorzeichenbehafteten ganzen Zahl
(die Unterprogramme in Int.asm, Hauptprg. in Intdemo.asm).