lehrerbibliothek.deDatenschutzerklärung
Assembler Maschinennahes Programmieren von Anfang an Mit Windows-Programmierung
Assembler
Maschinennahes Programmieren von Anfang an


Mit Windows-Programmierung

Reiner Backer

Rowohlt
EAN: 9783499612244 (ISBN: 3-499-61224-0)
352 Seiten, paperback, 13 x 19cm, November, 2003

EUR 9,90
alle Angaben ohne Gewähr

Umschlagtext
Die Programmiersprache Assembler bietet den Schlüssel zur Lösung jedes Softwareproblems. Denn Assembler ist die Maschinensprache des Computers und repräsentiert somit alles, was der Computer zu leisten vermag. Auch im Zeitalter der objektorientierten Programmierung schätzen Software-Entwickler die Möglichkeiten der hardwarenahen Programmierung, da mitunter den Hochsprachen genau die Funktion fehlt, die man zur Realisierung eines Programms braucht.



Mit diesem Grundkurs



• lernen Sie anhand anschaulicher Beispiele aus der Programmier-Praxis Assembler schritt für Schritt kennen

• erfahren Sie alles Wichtige zur Sprache des Computers

• programmieren Sie Assembler ganz einfach unter Windows

• schreiben Sie vielseitige und schnelle Programme

• binden sie Assemblerprogramme in Hochsprachen ein

• strukturieren Sie das Programmieren mit Assembler



Übungen mit Lösungen nach jedem Kapitel garantieren den Lernerfolg, die Schnellübersicht aller Assembler-Befehle und System-Funktionen hilft rasch weiter.
Inhaltsverzeichnis
Editorial

VORWORT

1 EINFÜHRUNG IN DIE MASCHINENSPRACHE
1.1 Was ist eine Maschinensprache?
1.2 Überblick Programmiersprachen
1.3 Entwicklung der Prozessoren im PC
1.4 Ein erstes Programm in Assembler
1.4.1 Was ist der Assembler?
1.4.2 Assembler-Software
1.5 Assemblieren und Linken mit dem MASM bzw. TASM
1.5.1 Vom Quellprogramm zur Objektdatei
1.5.2 Was ist der Linker?
1.5.3 Das erste Programm starten
1.5.4 Ablauf einer Programmerstellung unter DOS
1.5.5 Listing (Programmausdruck) des Assemblers
1.5.6 Querverweisliste des Assemblers
1.5.7 Mapdatei des Linkers
1.5.8. Eine Batchdatei für das Assemblieren und Linken
1.6 Wie geht es im Buch weiter?
1.7 Übungen zu Kapitel 1
1.8 Lösungen zu Kapitel 1

2 ZAHLENSYSTEME - DAS ASSEMBLER-EINMALEINS
2.1 Das Dezimalsystem
2.2 Das Dualsystem
2.2.1 Dual nach Dezimal
2.2.2 Dezimal nach Dual
2.2.3 Addition im Dualsystem
2.2.4 Subtraktion im Dualsystem
2.2.5 Vorzeichonlose Ganzzahlen im Dualsystem
2.2.6 Vorzeichenbehaftete Ganzzahlen im Dualsystem
2.3 Das Oktalsystem
2.3.1 Oktal nach Dezimal
2.4 Das Hexadezimalsystem
2.4.1 Dual nach Hex
2.4.2 Hex nach Dual
2.4.3 Hex nach Dezimal
2.4.4 Dezimal nach Hex
2.5 BCD-System (auch BCD- oder 8421-Code)
2.6 Bits und Bytes
2.6.1 Acht Zustände in einem - das Byte
2.6.2 Danach kommt das Wort
2.6.3 Das Doppelwort
2.7 Übungen zu Kapitel 2
2.8 Lösungen zu Kapitel 2

3 MIKROPROZESSORTECHNIK
3.1 Architektur eines Computers
3.2 Der Mikroprozessor
3.2.1 Das Steuerwerk
3.2.2 Das Rechenwerk
3.2.3 Der interne Speicher
3.2.4 Die Bus-Architektur
3.2.5 Der Aufbau des Intel-8086-Prozessors
3.2.6 Die Befehlsabarbeitung
3.3 Übungen zu Kapitel 3
3.4 Lösungen zu Kapitel 3

4 DIE CPU-REGISTER
4.1 Allzweckregister
4.1.1 Kennzeichnung
4.1.2 AX-Register
4.1.3 BX-Register
4.1.4 CX-Register
4.1.5 DX-Register
4.2 Segmentregister und Adressierung des Arbeitsspeichers
4.3 Zeige- und Indexregister
4.3.1 Befehlszeiger IP
4.3.2 Indexregister SI und DI
4.3.3 Base-Pointer (BP)
4.3.4 Stapelspeicher-Pointer (SP)
4.3.5 Stapelspeicher (auch Stapel, engl. Stack genannt)
4.4 Statusregister
4.5 Statusflags
4.5.1 Carry Flag/Übertragflag (CF), Bit-Nr. 0
4.5.2 Parity Flag/Paritätsflag (PF), Bit-Nr. 2
4.5.3 Auxiliary Flag/Hilfsübertragsflag (AF), Bit-Nr. 4
4.5.4 Zero Flag/Nullflag (ZF), Bit-Nr. 6
4.5.5 Sign Flag/Vorzeichenflag (SF), Bit-Nr. 7
4.5.6 Overflow Flag/Überlaufflag (OF), Bit-Nr. 11
4.6 Die Kontrollflags
4.6.1 Trap Flag/Einzelschrittflag (TF), Bit-Nr. 8
4.6.2 Interrupt Enable Rag/ Unterbrechungsflag (IF), Bit-Nr. 9
4.6.3 Direction Rag/ Richtungsflag (DF), Bit-Nr. 10
4.7 Speicheroperanden adressieren
4.7.1 Direktwertadressierung
4.7.2 Die Registeradressierung
4.7.3 Die direkte Adressierung
4.7.4 Die indirekte Registeradressierung
4.7.5 Die indizierte Adressierung
4.7.6 Adressierungsarten
4.8 Übungen zu Kapitel 4
4.9 Lösungen zu Kapitel 4

5 EIN ASSEMBLERPROGRAMM AUFBAUEN
5.1 Format einer Assembler-Zeile
5.1.1 Das Label
5.1.2 Namensvergabe - die Syntax des Sprungziels
5.1.3 Befehle, Anweisungen und Operanden
5.1.4 Kommentar
5.2 Variablen und Konstanten anlegen
5.2.1 Zeichenketten (engl. Strings)
5.2.2 Zahlen
5.2.3 DUP-Operator
5.2.4 Konstanten
5.2.5 INCLUDE-Anweisung
5.2.6 $-Operator
5.2.7 ORG-Anweisung
5.3 Übungen zu Kapitel 5
5.4 Lösungen zu Kapitel 5

6 WICHTIGE BEFEHLE
6.1 Verschiebe- und Ladebefehle
6.1.1 Transportbefehl MOV
6.1.2 Tauschbefehl XCHG
6.1.3 Ladebefehl LEA
6.1.4 Stapelspeicher-Befehle PUSH und POP
6.2 Mathematische Grundbefehle
6.2.1 Additionsbefehl ADD
6.2.2 Subtraktionsbefehl SUB
6.2.3 Multiplikationsbefehl MUL
6.2.4 Divisionsbefehl DIV
6.2.5 Inkrementieren und Dekrementieren
6.3 Bitmanipulationen
6.3.1 Logische Operationen
6.3.2 Schiebebefehle
6.4 Sprung- und Schleifenbefehle
6.4.1 Sprungbefehle
6.4.2 Schleifenbefehle
6.5 Zeichenkettenbefehle
6.5.1 Byte-oder Wort-Größe
6.5.2 Zeichenkettenbefehle zum Kopieren von Speicherblöcken
6.5.3 Zeichenkettenbefehle zum Durchsuchen von Speicherblöcken
6.6 Pointer-Angabe
6.7 Übung 7u Kapitel 6
6.8 Lösung zu Knpitol 6

7 UNTERPROGRAMME
7.1 Interne Unterprogramme
7.1.1 Aufbau eines Unterprogramms
7.2 Externe Unterprogramme
7.2.1 PUBLIC-Anweisung
7.2.2 EXTRN-Anweisung
7.3 Übung zu Kapitel 7
7.4 Lösung zu Kapitel 7

8 STRUKTURIERTE PROGRAMMIERUNG
8.1 Die Symbole von Struktogramm und Programmablaufplan
8.1.1 Sequenz = Befehisfolge
8.1.2 Unterprogrammaufruf
8.1.3 Vollständige Alternative
8.1.4 Kopfgesteuerte Schleife
8.1.5 Fußgesteuerte Schleife
8.1.6 Fallabfrage, Fallunterscheidung (mit Fehlerausgang)
8.2 Programmablaufpläne, Struktogramme und wichtige Regeln
8.2.1 Beispiel für einen unstrukturierten Programmablaufplan
8.2.2 Regeln der strukturierten Programmierung
8.3 Nachteile und Vorteile der Struktogramme (Nassi-Shneiderman-Diagramme)
8.4 Übungen zu Kapitel 8
8.5 Lösungen zu Kapitel 8

9 MAKROS UND BLOCKWIEDERHOLUNGSANWEISUNGEN
9.1 Makros
9.1.1 Allgemeiner Aufbau eines Makros
9.1.2 Parameterübergabe an ein Makro
9.1.3 Sprungadressen innerhalb von Makros
9.2 Blockwiederholungsanweisungen
9.2.1 REPT-Anweisung
9.2.2 IRP-Anweisungen
9.2.3 IRPC-Anweisung
9.2.4 &-Operator
9.2.5 Makros oder Unterprogramme
9.3 Übung zu Kapitel 9
9.4 Lösung zu Kapitel 9

10 EINBINDEN VON ASSEMBLERMODULEN IN HOCHSPRACHEN
10.1 Parameterübergabe und Zugriff auf diese über den Stapelspeicher
10.2 C und Assembler
10.3 Andere Hochsprachen und Assembler

11 WINDOWS UND ASSEMBLER
11.1 Die Funktion WinMain
11.2 Nachrichten und Ereignisse
11.3 Die Nachrichtenschleife
11.4 Fenster
11.5 Fenster erzeugen
11.6 Fenster anzeigen
11.7 Die Fensterfunktion
11.8 Nachrichten
11.9 Menüs
11.10 Grafik unter Windows
11.11 Text unter Windows
11.12 Eine Beispielgrafik
11.13 Die Nachricht WM_PAINT
11.14 Die wichtigsten Grafikfunktionen des GDI

12 ANHANG
12.1 Befehlsübersicht- alphabetisch geordnet
12.2 Befehlsübersicht nach Aufgaben gruppiert
12.3 Wichtige Systemfunktionen (DOS-Interrupts)
12.4 Tabelle für die Addition und Multiplikation im hexadezimalen Rechensystem
12.5 Regeln der strukturierten Programmierung
12.6 Sachwortregister