Assembler auf der 16 Bit Plattform / DOSWichtig! Bitte vor dem Herunterladen lesen! Wichtig! Bitte vor dem Herunterladen lesen und abspeichern!
Um die Beispiele besser zu verstehen und zum eigenen Programmieren, möchte ich an der Stelle mal auf
Ralf Brown's Interrupt List verweisen,
die praktisch ein Standartwerk zum Thema Interrupts darstellt.
Wer allerdings noch ganz am Anfang steht sollte vielleich zunächst einmal
Markus Romings Webseite (PDF) besuchen. DatensicherheitMit ganz einfachen Beispielen werden grundlegende Methoden gezeigt.Dateiintegrität: PrüfsummenbildungSchon in der Anfangszeit der Informationsverarbeitung war es notwendig zu überprüfen ob Daten vollständig und unverändert gesendet oder gespeichert wurden.
Das Standartverfahren hierzu ist die Bildung einer Prüfsumme. Bei dem Beispiel wird die Prüfsumme als Highword/Lowword dezimal angezeigt.
Die Datei pruefsum.asm muss z.B. die Länge 10054 Byte und das Wertepaar 10, 3217 besitzen. Kryptisch: Verschlüsseln von Dateien und InformationenEine Datei wird geladen, und durch XOR (Exklusiv Oder) Verknüpfung mit einer anderen Datei verschlüsselt,
Die verschlüsselte Ausgabedatei kann durch erneutes Verknüpfen mit derselben Schlüsseldatei wieder in lesbare Form gebracht werden. Das Assembler Beispiel "Passwortvergleich" Das Beispiel zeigt eine Passworteingabe und überprüfung. Das Passwort findest Du im Quellcode,
ausserdem die Beschreibung des Prog's.
Wurde es falsch eingegeben ertönt ein Warnton und es wird eine erneute Eingabe erforderlich .... mathematisches...Lookup Table - erzeugen einer Include DateiDie Sinuswerte von 0 bis 180 Grad werden per Coprozessor berechnet und als Wertetabelle ausgegeben,
Funktion: Ausgabe = 240 x sin (Winkel) Das Assembler Beispiel DOS "Wurzel"Die Quadratwurzel mittels des Newton Raphson Verfahrens berechnen.
Das Beispiel ist im Quelltext sehr gut Dokumentiert.
Und zusätzliche Informationen gibts unter 'Tips & Infos' Datenverarbeitung und AuswertungSuchmaschineDie angegebene Datei wird nach einem Suchbegriff durchsucht. Das Assembler Beispiel "ASCII to Decimal"Das Programm wandelt den eingegebenen Text in die dezimalen Werte um.
Also der ASCII Code (American Standart Code for Information Interchange) des Textes wird angezeigt. DateioperationenHinweis: bei den Beispielen beschränken sich die Dateipuffer auf 64000 Byte, was zum experimentieren reichen sollte.auswerten des DateiheadersDer Dateikopf (Header) mancher Dateien hält für das Betriebssystem oder mit diesem Datentyp verknüpfte Anwendungen einige Informationen bereit, die vom Programm ausgewertet werden sollten. Dieses Programmbeispiel zeigt nach dem laden einer Bitmap Datei (max. 64 kByte) die Byteanzahl gesammt, Breite, Höhe, Farbtiefe und die Byteanzahl 'netto'. ermitteln des aktuellen LaufwerksDie Interrupt 021h Funktion 019h (Get Current Drive) ermittelt das aktuelle Laufwerk, der übergebene Wert wird dann in den für Windows / MsDos üblichen Laufwerksbuchstaben umgesetzt und angezeigt. erstellen von Dateien und DatenspeichernEine Datei mit vorgegebenem Namen wird erstellt und mit Daten beschrieben. Da es nur sehr kurz ist,
habe ich es als .com Proggi geschrieben um damit auch diesen Dateityp einmal vorzustellen. lesen von DatenträgerIn diesem Beispiel wird nach Eingabe eines gültigen Dateinamens diese geöffnet,
eingelesen und als Text dargestellt, das Programm arbeitet mit den Standart Int21h Funktionen und funktioniert auch unter Win2000pro in der DOS Konsole,
auch wenn das Laufwerk ein NTFS Datenträger ist. Ein minimalistischer Fehlerabfang sorgt dafür das das Programm nicht 'einfriert', falls die angegebene Datei nicht gefunden wird. Eingabe- und AusgabeDialoggeführte EingabeWerden oft hintereinander Eingaben des selben Typ, z.B. Dezimalwerte aus einer Liste oder Tabelle gefordert, wird man das natürlich nicht 'linear' programmieren, sondern den Vorgang: Dialogtext anzeigen - Wert annehmen - Wert abspeichern, in einer Programmschleife realisieren, ein flexibles Beispiel dafür ist dieses hier, nach Eingabe von bis zu 6 Werten werden diese addiert und die Summe ausgegeben. Hexadezimalwert EingabeHin und wieder ist es erforderlich einen Ganzzahlwert in seiner Hexadezimalschreibweise einzugeben. Das geschieht innerhalb dieses Beispiels, der Wert wird eingegeben in einen unsigned Integerwert umgewandelt und als Dezimalzahl ausgegeben. Programm Aktivitäts AnzeigeManchmal ist lediglich eine Information relevant: läuft die Anwendung noch oder steht sie?
Das wird in dem Beispiel durch einen 'drehenden Stern' als Indikator angezeigt. Das Assembler Beispiel "Echtzeituhr"Ob Messung von Programmlaufzeiten, Ereignissprotokoll, Benutzerinformation,
oder zeitgesteuertes Starten von Vorgängen, Zeitdaten werden von vielen Anwendungen benötigt,
dieses einfache Beispiel zeigt wie man mit der Int 021h Funktion 01Ch Zeitdaten erhält und verwendet. Das Assembler Beispiel DOS "Sirene"Das Beispiel arbeitet mit unmittelbaren Zugriff auf die Hardware per In und Out Anweisung. Das Assembler Beispiel DOS "mehrdimensionales Variablenfeld"Das Beispiel zeigt einen textbasierten Benutzerdialog. Text wird ausgegeben und auf drücken der
Leertaste gewartet. Danach die nächste Zeile ausgegeben. |
|
neue Stats: |
Sir Shylock
53783 Eitorf E-Mail: webmaster |
alte Stats: |