Ich habe lange berlegt wie ich nun anfange und fr wen diese Rubrik eigentlich gedacht sein soll. Am Ende aller šberlegun- gen, bin ich schlieálich zu der Entscheidung gelangt mit dieser Rubrik die Assemblersprache von Anfang an zu erkl„ren, um In- terresierten einen Einstieg zu erm”glichen. Da gibt es allerdings nur ein Problem, denn bevor man richtig in die Assembler-Programmierung einsteigen kann, w„ren einige Grundkenntnisse ber die Funktionsweise einer CPU, bin„rer Lo- gik und Zahlensysteme ratsam, allerdings nicht notwendig. Alle die, die diese Grundkenntnisse schon besitzen, oder sogar schon erste Erfahrungen in Assembler-Programmierung gemacht ha- ben, werden in dieser Rubrik also nicht auf Ihre Kosten kommen (nicht b”se sein!). Themenbersicht: Teil 1 1.1 Zahlensysteme 1.2 Bin„re Logik 1.3 Aufbau eines PC's 1.4 Die CPU Teil 2 2.1 Assembler-Programmierung 2.2 Prozeduren 2.3 Arithmetikbefehle 2.4 Logikbefehle 2.5 Schleifen und Sprnge 2.6 Felder 2.7 Zeichenketten Vielleicht wird es auch noch einen dritten Teil geben, aber daá h„ngt ganz von der von Euch kommenden Resonanz ab. Wenn kein Interesse an diesem Einsteiger-Kurs besteht, dann schreibt es mir bitte. TEIL 1 1.1 Zahlensysteme Fangen wir nun an, mit der etwas theoretischen, aber sehr ntzlichen Einfhrung in die Zahlensysteme, die im Umgang mit Assembler wichtig sind. Das Dezimalsystem Wir kenne alle aus unserem t„glichen Umgang mit Zahlen das Dezimalsystem (Zehnersystem), das Zahlen auf der Ba- sis von zehn Ziffern darstellt. Wenn man aber, z.B. die Zahlen 983 und 544 betrachtet, wird nicht unmittelbar klar, warum es sich um ein Dezimalsystem handelt. Wenn man die Zahlen aber als Summen aus den Produkten der Ziffern mit der Basis 10 hoch der Postition der Ziffer in der Zahl darstellt wird es deutlicher: 983 = 9 * 10^2 + 8 * 10^1 + 3 * 10^0 und 544 = 5 * 10^2 + 4 * 10^1 + 4 * 10^0 Fr die Programmierung in Assembler wird das Dezimalsys- tem allerdings sehr selten verwendet, sondern viel h„ufi- ger das Dual- und das Hexadezimalsystem. Das Dualsystem Das Dualsystem benutzt zur Darstellung von Zahlen nur zwei Ziffern, die 0 und die 1. Die Zahlen 0101 und 1010 kann man auch wieder als Summen aus Produkten schreiben, diesmal allerdings mit der Basis zwei hoch der Position der Ziffer in der Zahl: 0101 = 0 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 5 und 1010 = 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 0 * 2^0 = 10 Damit wird auch gleichzeitig klar, wie man Dualzahlen in Dezimalzahlen umwandelt. Das Dualsystem liegt jeder digitalen Datenverarbeitungs- anlage zugrunde, da die Schalt- und Speicherelemente dieser Anlagen nur zwei Zust„nde kennen. Das Hexadezimalsystem Das Hexadezimalsystem basiert auf 16 verschiedenen Zif- fern. Da wir aber nur zehn verschiedene Ziffern kennen, werden die fehlenden sechs Ziffern durch Buchstaben re- pr„sentiert, genaugesagt durch die ersten sechs Buchsta- ben des Alphabetes. Das 'A' steht stellvertretend fr die Ziffer zehn, das 'B' fr die Ziffer elf, usw., bis zum 'F', das die Ziffer 15 darstellt. Die Zahlen 083F und AD4E lassen sich dann auch wieder als Summen aus Produkten darstellen, diesmal allerdings zur Basis 16 hoch der Po- sition der Ziffer in der Zahl: 083F = 0 * 16^3 + 8 * 16^2 + 3 * 16^1 +15 * 16^0 = 2111 und AD4E =10 * 16^3 +13 * 16^2 + 4 * 16^1 +14 * 16^0 =44366 1.2 Bin„re Logik Wie beim Dual-, oder Bin„r-, system schon erkl„rt, kennen Schalt- und Speicherelemente einer DV-Anlage nur zwei Zu- st„nde, n„mlich 0 oder 1. Man sagt auch eine Ziffer ist gesetzt (1), oder nicht gesetzt (0). Die logischen Grundverknpfungen machen nichts anderes als reihenweise zwei duale Ziffern nach einer bestimmten Funtionsvorschrift zu einer zusammenzufassen. Die lo- gischen Grundverknpfungen sind die AND, OR, EXOR und die NOT Funktion. Die Funktionsvorschrift nach der die einzelnen Ziffern einer Dualzahl miteinander verknpft werden, stellt man am einfachsten in einer Wahrheitstabelle dar. Der Aufbau einer Wahrheitstabelle wird sehr schnell an einem Beispiel klar: Die Wahrheitstabelle der AND Funktion sieht wie folgt aus: Ziffer 1 | Ziffer 2 | nach AND ------------------------------------------------ 0 | 0 | 0 | | 1 | 0 | 0 | | 0 | 1 | 0 | | 1 | 1 | 1 Man erkennt, daá bei einer AND Verknpfung das Ergebnis nur dann 1 wird, wenn beide Ziffern die verknpft werden sollen gesetzt, also gleich 1, sind. Die Wahrheitstabelle der OR Funktion: Ziffer 1 | Ziffer 2 | nach OR ------------------------------------------------ 0 | 0 | 0 | | 1 | 0 | 1 | | 0 | 1 | 1 | | 1 | 1 | 1 Die Wahrheitstabelle der EXOR Funktion: Ziffer 1 | Ziffer 2 | nach EXOR ------------------------------------------------ 0 | 0 | 0 | | 1 | 0 | 1 | | 0 | 1 | 1 | | 1 | 1 | 0 Die Wahrheitstabelle der NOT Funktion, auch Inverter- Funtion genannt sieht etwas anders aus als die vorange- gangenen Tabellen, daá liegt daran das die NOT Funtion nichts anderes macht als eine Ziffer invertiert, also eine gesetzte Ziffer l”scht und eine nicht gesetzte Zif- fer setzt. Ziffer 1 | nach NOT -------------------------------- 1 | 0 | 0 | 1 Die logischen Grundverknpfungen existieren auch als Assemblerbefehle, deshalb ist es ganz ntzlich ber die Funktionsweise dieser Funktionen Bescheid zu wissen. Damit sind wir fr heute auch schon ans Ende des Ein- steiger-Kurses gelangt.