Praktikumsanleitung. Rechnerorganisation. Versuch 1: Informationskodierung. (Emulator 8086)

Größe: px
Ab Seite anzeigen:

Download "Praktikumsanleitung. Rechnerorganisation. Versuch 1: Informationskodierung. (Emulator 8086)"

Transkript

1 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Technische Informatik und Ingenieurinformatik Fachgebiet Integrierte Hard- und Softwaresysteme Praktikumsanleitung Rechnerorganisation Versuch 1: Informationskodierung (Emulator 8086) (Studiengänge IN, MA) Christian Vollmer Dr.-Ing. Karsten Henke Dr.-Ing. Klaus Debes Version 1.2 vom April 2007

2 Inhaltsverzeichnis 1 Einleitung 2 2 Ablauf 2 3 Vorbemerkungen 3 4 Aufgaben Aufgabe Vorbereitung Aufgabenstellung Aufgabe Vorbereitung Aufgabenstellung Aufgabe Vorbereitung Aufgabenstellung Aufgabe Vorbereitung Aufgabenstellung Aufgabe Vorbereitung Aufgabenstellung Aufgabe Vorbereitung Aufgabenstellung Aufgabe Vorbereitung Aufgabenstellung Aufgabe Vorbereitung Aufgabenstellung Aufgabe Vorbereitung Aufgabenstellung Aufgabe Vorbereitung Aufgabenstellung Aufgabe Vorbereitung Aufgabenstellung Aufgabe Vorbereitung Aufgabenstellung

3 5 Anhang A - Emu8086 Kurzhandbuch Inhalt dieses Dokuments Editorfunktionen Programm emulieren Typischer Ablauf der Emulation eines Programmes Anhang B - Erklärung des Inhaltes der Datei Template.asm Inhalt dieses Dokuments Quellcode Erläuterung Ein einfaches Programm Erläuterung Einleitung Dieser Versuch im Rahmen des Praktikums "Technische Informatik" soll die Kenntnisse der systemnahen Programmierung und zum Zusammenspiel wichtiger Prozessorkomponenten vertiefen. Dazu sind mehrere Aufgaben zu bearbeiten, in denen jeweils anhand einer vorgegebenen Aufgabenstellung ein Programm in einer Assembler-Sprache zu implementieren ist. Anschließend soll das erstellte Programm in einer Simulationsumgebung, die die systemnahe Sicht eines 8086-kompatiblen PC emuliert, getestet werden. Dabei soll das Programmverhalten bezüglich der Aufgabenstellung untersucht und interpretiert werden. 2 Ablauf Zu Beginn des Praktikums bekommen Sie vom Betreuer eine Quellcodedatei "student- Template.asm", die als Basis für ihre Quelltextentwürfe dient. Des weiteren bekommen Sie für jede zu lösende Aufgabe je eine vom Betreuer erstellte, zur jeweiligen Aufgabe passende Datei, welche per "include"-direktive automatisch (diese Direktive ist schon in der vorgegebenen Quellcodedatei enthalten) in ihr Programm eingebunden wird und eine vom Betreuer definierte Speicherbelegung zum Beginn der Laufzeit ihres Programmes herstellt. Der Betreuer teilt ihnen nun mit, welche Aufgabe Sie zuerst lösen sollen. Sollten Sie in Vorbereitung auf das Praktikum diese Aufgabe bereits gelöst haben und den fertigen Quelltext in ausgedruckter Form zum Praktikum mitgebracht haben, so können Sie nun ihren Quelltext abtippen. Mit Hilfe der Emulationsfunktionen des emu8086 simulieren Sie anschließend Ihr erstelltes Programm und machen sich gegebenenfalls Notizen, sofern in der Aufgabe eine Aussage zum Programmverlauf gefordert ist. Nachdem Sie die Lösung, einschließlich der Beobachtungen des Programmverlaufes, fertig gestellt haben, melden Sie sich beim Betreuer. Der Betreuer beurteilt nun die Korrektheit ihrer Ergebnisse und stellt gegebenenfalls vertiefende Fragen. Nachdem Sie ein zufriedenstellendes Ergebnis erzielt haben, teilt der Betreuer Ihnen mit, welche Aufgabe Sie als nächstes lösen sollen. 2

4 3 Vorbemerkungen In Vorbereitung auf das Praktikum können Sie eine Demoversion der Simulationsumgebung emu8086 von der Website downloaden und mit deren Hilfe bereits Lösungen für die gegebenen Aufgaben anfertigen. Diese Lösungen können Sie in ausgedruckter Form zum Praktikumstermin mitbringen. Des Weiteren finden Sie auf den Praktikumsseiten die Quellcodedatei, welche Ihnen auch vom Betreuer während des Praktikums vorgegeben wird. Diese können Sie als Basis für eigene Experimente und zur Anfertigung Ihrer Lösungen in Vorbereitung auf das Praktikum verwenden. Anhang A dieses Dokumentes enthält eine kurze Einführung in die Bedienung der Emulationsumgebung, welche die im Rahmen des Praktikums nötigen Funktionen des Programmes darstellt und erläutert. Anhang B enthält eine Erläuterung der vorgegebenen Quellcodedatei. Um einen umfassenden Überblick über den Ablauf des Praktikums zu bekommen, sollten Sie dieses Dokument vollständig lesen, bevor Sie mit der weiteren Arbeit beginnen! 4 Aufgaben Im Folgenden sind die während des Praktikums zu lösenden Aufgaben dargestellt. 4.1 Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die Syntax und Semantik der Befehle MOV, MUL, DEC und JNZ Aufgabenstellung Übernehmen Sie folgende Assember-Befehlsfolge in Ihr Assembler-Template template.asm: MOV AL, 1 m1: MUL BL DEC CX JNZ m1 Listing 1: Vorgegebener Assembler-Code Emulieren Sie den Programmlauf mit dem Assembler-Emulator emu8086. Starten Sie die Emulation. Führen sie nun die Anweisungen sequenziell schrittweise mit Hilfe der Step- Funktion bis zum Erreichen der Anweisung HLT aus. Beobachten Sie dabei die Veränderungen der Register und der Prozessor-Status-Flags nach jedem Befehl. Leiten Sie aus Ihren Beobachtungen Vermutungen über die Funktion der Befehlsfolge ab. Ändern Sie nun die Befehlsfolge folgendermaßen: MOV AL, 1 m1: MUL DL Listing 2: Abgeänderter Assembler-Code 3

5 DEC CX JNZ m1 Führen Sie nun wiederum die Anweisungen sequenziell schrittweise mit Hilfe der "Step"- Funktion bis zum Erreichen der Anweisung HLT aus. Beobachten Sie auch hierbei wieder die Veränderungen der Register und der Prozessor-Status-Flags nach jedem Befehl. Welche Unterschiede beobachten Sie im Vergleich zur Abarbeitung der vorhergehenden Befehlsfolge. Was bedeuten diese Veränderungen und wo liegen ihre Ursachen? 4.2 Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die Syntax und Semantik der Befehle MOV, ADD, CMP, JNE, INC und JNZ Aufgabenstellung Übernehmen Sie folgende Assember-Befehlsfolge in Ihr Assembler-Template template.asm: MOV SI, 0 MOV BX, BP ADD BX, DX m1: MOV CL, [BP+S I ] MOV [BX+SI ], CL INC SI CMP SI, DX JNE m1 Listing 3: Vorgegebener Assembler-Code Emulieren Sie den Programmlauf mit dem Assembler-Emulator emu8086. Starten Sie die Emulation. Führen Sie nun die Anweisungen sequenziell schrittweise mit Hilfe der Step-Funktion bis zum Erreichen der Anweisung HLT aus. Beobachten Sie dabei die Veränderungen der Register und der Prozessor-Status-Flags, sowie die Speicherinhalte an den im Programm adressierten Speicherstellen nach jedem Befehl. Leiten Sie aus Ihren Beobachtungen Vermutungen über die Funktion der Befehlsfolge ab. Ändern Sie nun die Befehlsfolge folgendermaßen: MOV SI, 0 MOV DI, DX MOV BX, BP ADD BX, DX m1: MOV CL, [BP+DI 1] DEC DI MOV [BX+SI ], CL Listing 4: Abgeänderter Assembler-Code 4

6 INC SI CMP SI, DX JNE m1 Führen Sie nun wiederum die Anweisungen sequenziell schrittweise mit Hilfe der Step- Funktion bis zum Erreichen der Anweisung HLT aus. Beobachten Sie auch hierbei wieder die Veränderungen der Register und der Prozessor-Status-Flags, sowie die Speicherinhalte an den im Programm adressierten Speicherstellen nach jedem Befehl. Welche Unterschiede beobachten Sie im Vergleich zur Abarbeitung der vorhergehenden Befehlsfolge. Was bedeuten diese Veränderungen und wo liegen ihre Ursachen? 4.3 Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die Syntax und Semantik der Befehle MUL, ADD und MOV Aufgabenstellung Die nachfolgende Assembler-Routine soll den Zugriff auf ein Element eines zweidimensionalen Byte-Arrays demonstrieren. Dabei wird ein bestimmtes Array-Element in ein Register eingelesen. Übernehmen Sie folgende Assember-Befehlsfolge in Ihr Assembler- Template template.asm: MOV AX, DI MUL BX MOV DI, AX ADD DI, SI MOV CL, [BP+DI ] MOV AL, 0 MOV [BP+DI ], AL Listing 5: Vorgegebener Assembler-Code Die Inhalte der verwendeten Register haben die folgende Bedeutung: BP = Anfangsadresse des zweidimensionalen Arrays CX = Zeilenanzahl DX = Spaltenanzahl DI = Selektierte Zeile SI = Selektierte Spalte CL = Zielregister Emulieren Sie den Programmlauf mit dem Assembler-Emulator emu8086. Starten Sie die Emulation. Führen sie nun die Anweisungen sequenziell schrittweise mit Hilfe der Step- Funktion bis zum Erreichen der Anweisung HLT aus. Beobachten Sie dabei die Veränderungen der Register und der Prozessor-Status-Flags, sowie die Speicherinhalte an den im 5

7 Programm adressierten Speicherstellen nach jedem Befehl. Erklären Sie die Bedeutung der einzelnen Befehle im Kontext der Array-Adressierung. 4.4 Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die Syntax und Semantik der Befehle CMP, JMP, JE, JNE, ROL, ROR, SHL, DEC Aufgabenstellung Übernehmen Sie folgende Assember-Befehlsfolge in Ihr Assembler-Template template.asm: Listing 6: Vorgegebener Assembler-Code m1: CMP CX, 0 ; Beginn von Block1 JNE m2 ROL BP, 1 JMP m3 m2: ROR BP, 1 m3: ; Ende von Block1 m4: CMP AX, 0 ; Beginn von Block2 JE m5 SHL BP, 1 DEC AX JMP m4 m5: ; Ende von Block2 CMP BX, 0 ; Beginn von Block3 JE m7 m6: ROR BP, 1 DEC BX JNZ m6 m7: ; Ende von Block3 m8: CMP DX, 0 ; Beginn von Block4 JNE m9 ROL BP, 1 JMP m11 m9: CMP DX, 1 JNE m10 ROR BP, 1 JMP m11 m10 : CMP DX, 2 JNE m11 SHL BP, 1 6

8 m11 : ; Ende von Block4 Emulieren Sie den Programmlauf mit dem Assembler-Emulator emu8086. Starten Sie die Emulation. Führen Sie nun die Anweisungen sequenziell schrittweise mit Hilfe der Step-Funktion bis zum Erreichen der Anweisung HLT aus. Beobachten Sie dabei die Veränderungen der Register und der Prozessor-Status-Flags nach jedem Befehl. Die vier Anweisungsblöcke Block1,..., Block4 realisieren je eine typische Kontrollstruktur der strukturierten Programmierung. Ordnen Sie jedem Block jeweils einen der folgenden Begriffe zu: Schleife mit Eintrittsbedingung Schleife mit Austrittsbedingung bedingte Verzweigung Fallauswahl 4.5 Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die Syntax und Semantik der Befehle ADD, SUB, ADC und SBB. Machen Sie sich außerdem die Bedeutung des Carry- und des Overflow-Flags klar Aufgabenstellung Übernehmen Sie folgende Assember-Befehlsfolge in Ihr Assembler-Template template.asm: ADD AL, AH SUB BL, BH ADC CL, CH SBB DL, DH Listing 7: Vorgegebener Assembler-Code Emulieren Sie den Programmlauf mit dem Assembler-Emulator emu8086. Starten Sie die Emulation. Führen Sie nun die Anweisungen sequenziell schrittweise mit Hilfe der Step-Funktion bis zum Erreichen der Anweisung HLT aus. Beobachten Sie dabei die Veränderungen der Register und der Prozessor-Status-Flags nach jedem Befehl. Achten Sie dabei besonders auf die Veränderungen im Carry- und im Overflow-Flag. Erklären Sie das Verhalten der Flags. Beziehen Sie die Werte der verwendeten Register in Ihre Überlegungen mit ein. Finden Sie eine Möglichkeit, zwei 32-bit-Zahlen mit Hilfe der 16-Bit-Register zu addieren. Dabei seien die oberen 16 Bits der ersten Zahl im Register DX, ihre unteren 16 Bits im Register AX gespeichert. Analog dazu seien die oberen 16 Bits der zweiten Zahl im Register CX, ihre unteren 16 Bits im Register BX gespeichert. Das Ergebnis soll am Ende 7

9 in analoger Weise in den Registern DX (die oberen 16 Bits) und AX (die unteren 16 Bits) stehen. Ignorieren Sie dabei Overflows, achten Sie aber auf die korrekte Behandlung von Carrys. 4.6 Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die maschineninterne Darstellung einer (IEEE 754-) Float-Zahl Aufgabenstellung Lesen Sie aus dem Speicher die (IEEE 754-) Float-Zahl, deren Adresse im Register BX spezifiziert ist, mit Hilfe des Memory-Fensters des emu8086 aus. Beachten Sie dabei, wie dieser Datentyp im Speicher abgelegt wird (Bytereihenfolge). Wandeln Sie diese Zahl von ihrer maschinenlesbaren Form "per Hand" in die übliche für Menschen lesbare Darstellung um. 4.7 Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die Syntax und Semantik der Befehle MOV, CMP, JB, JBE, SUB Aufgabenstellung Übernehmen Sie folgende Assember-Befehlsfolge in Ihr Assembler-Template template.asm: Listing 8: Vorgegebener Assembler-Code BLANK EQU 20h ; L e e r z e i c h e n NULL EQU 30h ; N u l l MOV AL, [BP] ; l e s e ASCII Z i f f e r CMP AL, 61h ; Z i f f e r a f? JB L1 ; k e i n e K l e i n b u c h s t a b e n SUB AL, BLANK ; in Grossbuchstaben L1 : SUB AL, NULL ; in Hexzahl wandeln CMP AL, 9 ; Z i f f e r > 9? JBE Ok ; JMP OK SUB AL, 07 ; k o r r i g i e r e Z i f f e r n A..F Ok: ; E x i t Die gegebene Assembler-Routine wandelt eine hexadezimale Ziffer, welche als ASCII- Zeichen im Speicher an der im Register BP gegebenen Adresse steht, in ihren numerischen Wert um und schreibt das Ergebnis der Umwandlung in das Register AL. Emulieren Sie den Programmlauf mit dem Assembler-Emulator emu8086. Starten Sie 8

10 die Emulation. Führen Sie nun die Anweisungen sequenziell schrittweise mit Hilfe der Step-Funktion bis zum Erreichen der Anweisung HLT aus. Beobachten Sie dabei die Veränderungen der Register und der Prozessor-Status-Flags nach jedem Befehl. Achten Sie dabei Besonders auf die Belegung des Registers AL. Erweitern Sie nun die Routine so, dass sie einen ganzen ASCII-String, welcher eine Hexadezimalzahl darstellt, in seinen numerischen Wert umwandelt. Der String beginnt an der in BP spezifizierten Speicherstelle. Dabei steht die höchstwertige Hexadezimalziffer an der niedrigsten Speicherstelle. Die Länge des Strings ist im Register SI vorgegeben. Am Ende soll der Wert, den dieser String kodiert, in einem beliebigen Register stehen. Es reicht aus, wenn Ihre Routine Strings mit einer maximalen Länge von vier Zeichen umwandeln kann (Zur Umwandlung längerer Strings benötigt man 32-Bit-Arithmetik!). Hinweis: Überlegen Sie sich zuerst, wie man eine solche Umwandlung "per Hand" vornimmt und versuchen Sie, dieses Vorgehen mit Hilfe einer Schleife zu realisieren. 4.8 Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die Syntax und Semantik der Befehle MOV, CMP, JB, JBE, SUB Aufgabenstellung Übernehmen Sie folgende Assember-Befehlsfolge in Ihr Assembler-Template template.asm: ADD Listing 9: Vorgegebener Assembler-Code AL, BL Die gegebene Routine führt eine Addition zweier BCD-Zahlen, gegeben in AL und BL, durch, macht dabei aber einen gravierenden Fehler. Erläutern Sie das Problem. Korrigieren Sie die Routine so, dass nach deren Abarbeitung in AL das korrekte Ergebnis in BCD-Form steht. 4.9 Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die Syntax und Semantik der Befehle MOV, JNZ und INT im Zusammenhang mit dem DOS-Interrupt-Mechanismus und den verwendeten Interrupts Aufgabenstellung Übernehmen Sie folgende Assember-Befehlsfolge in Ihr Assembler-Template template.asm: 9

11 Listing 10: Vorgegebener Assembler-Code m1: MOV AH, 01h ; Beginn von Block1 INT 16h JZ m1 MOV AH, 00h INT 16h ; Ende von Block1 MOV AH, 01h ; Beginn von Block2 INT 21h ; Ende von Block2 Das Programm demonstriert zwei verschiedene Möglichkeiten zum Einlesen eines Zeichens von der Tastatur. Dabei werden zwei grundlegend unterschiedliche Verfahren verwendet. Erläutern Sie diese Verfahren und heben Sie dabei deren Unterschiede hervor. Emulieren Sie den Programmlauf mit dem Assembler-Emulator emu8086. Setzen Sie dazu einen Breakpoint auf Anweisung HLT. Starten Sie die Emulation mit Hilfe der Run- Funktion. Damit der Programmlauf Block1 verlassen kann, müssen Sie auf der emulierten Konsole (ähnlich der DOS-Eingabeaufforderung) ein Zeichen über die Tastatur eingeben. Geben Sie nun ein Zeichen in die emulierte Konsole ein (Das Konsolenfenster muss dazu aktiviert sein) und beobachten Sie dabei die Veränderungen der Register. Nachdem Sie das Zeichen eingegeben haben wird Block1 verlassen und Block2 betreten. Auch hier müssen Sie ein Zeichen eingeben, damit das Programm den Block verlässt. Geben Sie also auch hier wieder ein Zeichen in die emulierte Konsole ein (Das Konsolenfenster muss dazu aktiviert sein) und beobachten Sie dabei die Veränderungen der Register. Danach kommt das Programm bei HLT durch den darauf gesetzten Breakpoint zum Stillstand Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die Syntax und Semantik der Befehle MOV, ADD und INT im Zusammenhang mit dem DOS-Interrupt-Mechanismus und den verwendeten Interrupts Aufgabenstellung Übernehmen Sie folgende Assember-Befehlsfolge in Ihr Assembler-Template template.asm: Listing 11: Vorgegebener Assembler-Code m1: MOV [BX], AL ; Die Grösse des P u f f e r s muss _ ; im e r s t e n Byte des P u f f e r s s t e h e n MOV DX, BX ; Adresse des P u f f e r s _ ; ( i n k l. Grösse,... ) muss in DX s t e h e n MOV AH, 0Ah ; S t r i n g e i n l e s e n und _ ; in P u f f e r s c h r e i b e n 10

12 INT 21h MOV DI, [BX+1] ; h i n t e r das l e t z t e Zeichen des _ ; S t r i n g s muss ein D o l l a r z e i c h e n _ AND DI, 00FFh ; g e s c h r i e b e n werden, damit DOS b e i _ ; d e r Ausgabe das Ende _ MOV BP, BX ; des S t r i n g s e r k e n n t MOV [BP+DI +2], 24h MOV DX, BX ADD DX, 2 MOV AH, 09h ; S t r i n g von S t e l l e DX auf _ ; Konsole ausgeben INT 21h Die Routine demonstriert, wie man einen String von der Konsole einliest und diesen anschließend wieder auf der Konsole ausgibt. Die beiden Register BX und AL enthalten vor dem Programmstart bereits vorgegebene Werte: BX = Zieladresse des einzulesenden Strings AL = Puffergröße Um die Dos-Interrupt-Routine 21h/0Ah zum Einlesen einer Zeichenkette von der Tastatur verwenden zu können, muss man ihr zuvor mitteilen, welchen Speicherbereich sie zur Ablage des eingelesenen Strings verwenden soll. Zur Spezifizierung dieses sogenannten Puffers muss man seine Anfangsadresse und seine Größe angeben. Um der Routine den Ort des Puffers mitzuteilen, wird seine Adresse vor dem Interrupt-Aufruf in das Register DX geschrieben. Die Größe des Puffers wird der Routine etwas "indirekter" mitgeteilt. Sie muss in das erste Byte des Puffers geschrieben werden. Nach dem Interrupt-Aufruf steht im ersten Byte des Puffers immernoch die Größe des Puffers. In das zweite Byte des Puffers hat die Routine die Länge der eingelesenen Zeichenkette geschrieben. Ab dem dritten Byte hat die Routine die eingelesene Zeichenkette abgelegt. Der Puffer hat also am Ende folgenden Inhalt: <1 Byte Puffergröße N><1 Byte Stringlänge M> <Zeichen1><Zeichen2>... <ZeichenM> <Leeres Byte1><Leeres Byte2>... <Leeres Byte(N-M-2)> Emulieren Sie den Programmlauf mit dem Assembler-Emulator emu8086. Starten Sie die Emulation. Führen Sie nun die Anweisungen sequenziell schrittweise mit Hilfe der Step-Funktion bis zum Erreichen der Anweisung HLT aus. Beobachten Sie dabei die Veränderungen der Register und der Prozessor-Status-Flags nach jedem Befehl. Leiten Sie nun aus der gegebenen Routine ein Programm ab, welches zwei Strings von der Konsole einliest, diese direkt aneinander hängt und den entstandenen String wieder auf der Konsole ausgibt. 11

13 4.11 Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die nötigen Speicherzugriffsmechanismen und DOS-Interrupts mit deren Hilfe Sie die Aufgabenstellung bewältigen können Aufgabenstellung Schreiben Sie eine Assembler-Routine, die einen Text von der Tastatur einliest, anschließend alle Zeichen in Großbuchstaben wandelt und den resultierenden Text wieder ausgibt Aufgabe Vorbereitung Informieren Sie sich zur Vorbereitung über die verschiedenen Speicherzugriffsmechanismen Aufgabenstellung Schreiben Sie ein Programm, welches einen Ringtausch von drei Speicherinhalten (jeweils zwei Bytes) vornimmt. Die Speicheradressen der drei zu tauschenden Speicherzellen stehen ebenfalls im Speicher, aufeinander folgend in Form eines Arrays(drei Einträge von je zwei Bytes). Die Anfangsadresse dieser Tabelle steht im Register BP. 12

14 5 Anhang A - Emu8086 Kurzhandbuch 5.1 Inhalt dieses Dokuments Dieses Dokument dient als kurze Einführung in die Bedienungsweise des Programmes Emu Editorfunktionen Startet man das Programm emu8086, so erscheint ein Fenster mit vier Buttons (siehe Abb. 1). Im Rahmen des Praktikums sind nur die beiden Buttons "new" und "recent files" von Abbildung 1: Dialog nach dem Start des Programms emu8086 Interesse. Mit dem Button "new" erzeugt man eine neue, leere Quellcodedatei. Mit dem Button "recent files" öffnet man bereits vorhandene Quellcodedateien. Da im Rahmen des Praktikums eigene Programme immer ausgehend von dem vorgegebenen Template erstellt werden sollten, muss man zu Beginn das Template mit Hilfe des Buttons "recent files" öffnen. Klickt man auf diesen Button, so öffnet sich eine Pull-Down-Liste, in der sich die zuletzt bearbeiteten Dateien befinden (wenn man das Programm zum ersten mal nach der Neuinstallation startet, ist die Liste natürlich leer). Außerdem befindet sich am Ende der Liste der Eintrag "other files..." (siehe Abb. 2). Wählt man diesen Eintrag Abbildung 2: Ein Klick auf den markierten Eintrag öffnet einen Dialog, in dem die zu bearbeitende Datei ausgewählt werden kann (per Mausklick) aus, so öffnet sich ein Dialogfenster, in dem man die zu bearbeitende 13

15 Datei auswählen kann. Wenn Sie mit der Bearbeitung einer Aufgabe beginnen, sollten Sie mit Hilfe dieses Dialoges das vorgegebene Template suchen und öffnen. Nachdem Sie das Template geöffnet haben, befinden Sie sich im Editormodus (siehe Abb. 3). In diesem Abbildung 3: Das vorgebene Template im Editormodus Modus können Sie den Quellcode des Templates bearbeiten und so Ihren eigenen Quellcode einfügen. Mit Hilfe des "save"-symbols kann man die Datei unter ihrem aktuellen Namen speichern, durch einen Klick auf den kleinen Pfeil rechts neben dem "save"-symbol kann man die Datei unter einem anderen Namen speichern. Um das leere Template, welches Sie auch noch als Vorlage für weitere Programme benötigen, nicht zu überschreiben, sollten Sie Ihren Quellcode unter einem anderen Dateinamen speichern. 5.3 Programm emulieren Nachdem Sie Ihren Quellcode fertig gestellt (oder zumindest der Meinung sind, er sei fertig gestellt) und gespeichert haben, können Sie die Emulatorfunktionen des Programmes dazu nutzen, Ihr Programm zu emulieren. Durch einen Klick auf das "emulate"-symbol, führt das Programm einen Syntaxcheck durch und startet, insofern der Syntaxcheck erfolgreich war, den Emulator. Schlägt der Syntaxcheck fehl, so erscheint ein Dialog, dem Sie entnehmen können, welche Stellen Ihres Quellcodes Fehler enthalten (siehe Abb. 4). Die Zahl innerhalb der Klammern gibt die fehlerhafte Quellcodezeile an. Danach folgt eine kurze Beschreibung des Fehlers. Nachdem Sie alle Fehler beseitigt haben, und wiederum das "emulate"-symbol betätigen, beginnt der Emulator mit der Emulation Ihres Programmes. Es erscheinen nun zwei neue Fenster: zum einen das Hauptfenster des Emulators (siehe Abb. 5), erkennbar am Fenstertitel "emulator:...", zum anderen ein Fenster, welches Ihren Quellcode anzeigt, erkennbar am Fenstertitel "original source code". Im Hauptfenster kann man den Emulationsvorgang steuern. In dem anderen Fenster wird parallel zur Emulation der gerade aktive Befehl markiert. Am linken Rand des Hauptfensters sind die aktuellen Inhalte der Register dargestellt. Diese ändern sich entsprechend des zuletzt ausgeführten Befehls. Im mittleren Teil des Fensters befindet sich eine Tabelle. Diese Tabelle illustriert den Inhalt des Speichers. In der linken Spalte befindet sich eine 14

16 Abbildung 4: Meldung bei Fehlerhafter Syntax Abbildung 5: Das Hauptfenster des Emulators 15

17 fünfstellige hexadezimale Zahl gefolgt von einem Doppelpunkt, welche die Speicheradresse (nicht in der Schreibweise "segment:offset", sondern als physische Speicheradresse) der entsprechenden Zeile darstellt. Nach dem Doppelpunkt folgt der Inhalt der Speicherzelle, welche durch die entsprechende Adresse in der ersten Spalte adressiert wird, als zweistellige hexadezimale Zahl. In der dritten und vierten Spalte wird ebenfalls der Inhalt der Speicherzelle dargestellt, hier aber in dezimaler Schreibweise (in der dritten Spalte) bzw. in Form von ASCII-Zeichen (in der vierten Spalte). Am rechten Rand des Hauptfensters befindet sich eine weitere Darstellung des Speichers. Hier werden alle Speicherinhalte als Maschinenbefehle interpretiert. Dabei ist zu beachten, dass es sich nicht tatsächlich auch um Maschinenbefehle handeln muss. Es wird hier einfach "blind" eine Reihe aufeinanderfolgender Bytes als Befehl interpretiert (auch, wenn Sie vom Programmierer eigentlich als Daten interpretiert werden würden), so wie es auch die CPU eines realen Rechners tun würde, falls der Befehlszeiger auf diese Speicherstelle zeigen würde. Über den beiden Tabellen befindet sich jeweils eine Box, in der jeweils die Anfangsadresse des gerade betrachteten Speicherbereichs steht. Es gibt zwei Modi, um nun das Programm ablaufen zu lassen. Mit Hilfe des Buttons "single step" kann man das Programm im Einzelschrittmodus ausführen. Dabei wird bei Betätigung des Buttons immer der sowohl in den beiden Tabellen des Hauptfensters, als auch im "original source code"-fenster markierte Befehl ausgeführt. Nach dessen Ausführung wird der Programmlauf gestoppt und der nächste Befehl markiert. Im zweiten Modus wird das Programm vom Anfang bis zum Programmende durchlaufen, so wie es auch auf einer realen CPU ablaufen würde. Dieser Modus wird mit Hilfe des Buttons "run" gestartet. Rechts neben dem "run"- Button befindet sich ein Slider, mit dem man die Geschwindigkeit des Programmlaufes einstellen kann. Der nächste Befehl wird immer mit der dort eingestellten Verzögerung ausgeführt. Auch im "run"-modus wird der aktuell ausgeführte Befehl im Hauptfenster und im "original source code"-fenster markiert (siehe Abb. 6). Um im "run"-modus den Abbildung 6: "original source code"-fenster mit aktuellem, markiertem Befehl Programmlauf an einer bestimmten Stelle des Programmes automatisch stoppen zu lassen, kann man einen sogenannten Breakpoint setzen. Im Menü des Haupfensters findet man unter "debug"->"set breakpoint" die entsprechende Funktion. Um den Programm- 16

18 lauf nun vor der Ausführung eines bestimmten Befehls zu stoppen, markiert man den Befehl im Hauptfenster oder im "original source code"-fenster durch einen Klick mit der linken Maustaste auf den Befehl und wählt dann "debug"->"set breakpoint" im Menü des Hauptfensters aus. Nachdem man den Breakpoint wie beschrieben gesetzt hat, startet man den Programmlauf mit Hilfe des "run"-buttons. Das Programm wird nun emuliert und hält vor der Ausführung des entsprechenden Befehls an. Mit Hilfe des "single step"- Buttons kann man nun den nun markierten Befehl ausführen. Betätigt man wieder den "run"-button, so wird die Emulation fortgeführt. Falls man den Breakpoint innerhalb einer Schleife setzt, so wird der Programmlauf jedesmal, wenn er den entsprechenden Befehl passiert, angehalten. Um das Programmverhalten während der Emulation genauer untersuchen zu können, stellt der Emulator weitere Werkzeuge zu Verfügung. Die wichtigsten sind das Memory-Fenster, des Flag-Fenster und das Stack-Fenster. Diese Fenster lassen sich über das "view"-menü des Hauptfensters öffnen. Das Memory-Fenster (siehe Abb. 7) kann mit Hilfe des Eintrages "view"->"memory" geöffnet werden. Dieses Fenster zeigt einen Ausschnitt des dem Programm zur Verfügung stehenden Hauptspeichers. Hier kön- Abbildung 7: Das Memory-Fenster nen die Auswirkungen von Speicheroperationen während des Programmlaufes beobachtet werden. Im oberen Teil des Fensters befindet sich eine Box, in der die Anfangsadresse des anzuzeigenden Speicherbereiches steht. Trägt man hier eine andere Adresse ein, so wird der entsprechende Speicherbereich angezeigt. Werden nun während des Programmlaufes Speicheroperationen auf dem aktuell angezeigten Speicherbereich ausgeführt, so kann man deren Auswirkungen hier beobachten. Der Speicherbereich wird in Form einer Tabelle angezeigt. Die erste Zahl in jeder Spalte gibt dabei jeweils die Anfangsadresse der in der Zeile dargestellten Byte-Folge an. Rechts davon folgen 16 Bytes, von denen jedes jeweils als zweistellige hexadezimale Zahl codiert ist. Dabei hat das erste Byte die am Anfang der Zeile angegebene Adresse, das zweite Byte die am Zeilenanfang angegebene Adresse plus eins, das dritte Byte plus zwei,..., das letzte Byte plus 15. Am rechten Rand der Tabelle wird der Speicherinhalt der entsprechenden Zeile in ASCII-codierter Form dargestellt. Mit Hilfe des Stack-Fensters (siehe Abb. 8), welches sich über den Menüeintrag "view"->"stack" öffnen lässt, kann man den als Stack verwendeten Speicherbereich inspizieren. Natürlich ist dies auch mit dem Memory-Fenster möglich (siehe Abb. 9), da es sich ja auch nur um einen Speicherbereich handelt, allerdings stellt das Stack-Fenster eine "stack-gerechtere" Ansicht zur Verfügung. Nachdem die erste Stack-Operation (üblicherweise der Befehl PUSH, da der Stack zu Beginn noch leer ist) ausgeführt wurde, springt der Pfeil im rechten Teil des Stack-Fensters auf den "obersten" Stackeintrag (also der Eintrag, der als letztes auf den Stapel gelegt wurde). Der Pfeil wird bei einem PUSH-Befehl um eine Zeile nach unten versetzt, bei einem POP-Befehl um eine Zeile 17

19 Abbildung 8: Das Stack-Fenster Abbildung 9: Der Speicherbereich des Stacks im Memory-Fenster betrachtet nach oben (Man beachte hier, wie der Stack im Speicherbereich organisiert ist. Er beginnt im hier gezeigten Beispiel am Ende des Segments, welches die Segmentadresse 0100 trägt. Mit einem PUSH-Befehl wird der Wert auf den Stack gelegt und der Stack-Zeiger um eins verringert.). Mit Hilfe des Flags-Fensters (siehe Abb. 10) kann man den aktuellen Zustand der Prozessor-Status-Flags nach jedem Befehl inspizieren. Nach der Ausführung eines Befehls werden die Inhalte der einzelnen Flags hier angezeigt. Die Flags, die sich mit der Ausführung des Befehls geändert haben, werden rot markiert, alle anderen blau. Neben den hier aufgezählten Fenstern, kann man im "view"-menü noch weitere finden, die aber weniger häufig benötigt werden. 5.4 Typischer Ablauf der Emulation eines Programmes Im Folgenden soll exemplarisch der typische Ablauf einer Emulation dargestellt werden. Typischerweise beginnt man mit der Erstellung des Quellcodes im Editor-Fenster. Nachdem man den Quellcode fertig gestellt und alle Fehler beseitigt hat, startet man die Emulation mit Hilfe des "emulate"-buttons. Im Emulator öffnet man nun mindestens das Memory-Fenster, falls nötig auch weitere, wie das Stack-Fenster und das Flags-Fenster. Will man nun die Wirkung eines bestimmten Teils des Quellcodes genauer untersuchen, setzt man den Breakpoint auf den Anfang des zu untersuchenden Bereiches und startet den Programmlauf im "run"-modus. Nachdem der Breakpoint erreicht wurde, führt man den zu untersuchenden Code-Bereich im Einzelschrittmodus aus und beobachtet dabei den Zustand des Programmes mit Hilfe der zuvor geöffneten Fenster (Memory-Fenster, 18

20 Abbildung 10: Das Flag-Fenster Stack-Fenster,...). Abbildung 11: Die typische Arbeitsumgebung während der Emulation 19

21 6 Anhang B - Erklärung des Inhaltes der Datei Template.asm 6.1 Inhalt dieses Dokuments Dieses Dokument beschreibt den Inhalt der Datei Template.asm. Diese Datei dient dem Praktikanten als Vorlage für seine eigenen Programmtexte. 6.2 Quellcode 01: name "Template" 02: 03: include "data.inc" 04: 05: org 0100H 06: 07:.MODEL TINY ;Das Speichermodell 08: 09: 10:.DATA ;Beginndes Datensegments 11: 12: #hier werden eigene Daten eingefügt 13: 14:.CODE 15: start: 16: 17: #hier wird eigener Quellcode eingefügt 18: 19: ende: HLT 6.3 Erläuterung Zeile 01: Hier wird der Name der Datei angegeben, welche entstehen würde, wenn man den Quellcode compilieren würde. Im Rahmen des Praktikums werden die Quelldateien nicht compiliert, sondern lediglich emuliert. Daher ist diese Zeile unwichtig und kann weg gelassen werden. Zeile 03: Hier wird der Quellcode der Datei "data.inc" eingebunden. Diese Direktive bewirkt, dass der Quelltext der Datei "data.inc" vor dem compilieren bzw. emulieren direkt an diese Stelle kopiert wird. Der Inhalt der Datei "data.inc" realisiert eine Speichervorbelegung. Zeile 05: Hier teilt man dem Compiler bzw. Emulator mit, dass er den Maschinencode an die Adresse 0100H im Adressraum des Programmes schreiben soll. Zeile 07: Hier teilt man dem Compiler mit, welches Speichermodell er verwenden soll. Das Speichermodell legt fest, in welcher Weise das Programm zur Ausführungszeit in den 20

22 Speicher geladen wird. Wählt man das Speichermodell TINY, so werden Daten und Code in ein einziges Segment geladen, welches auf eine Größe von 64KB begrenzt ist. Der Compiler würde in diesem Fall eine COM-Datei erzeugen. Ein anderes Speichermodell ist z. B. SMALL. Hierbei werden Daten und Code jeweils in ein eigenes Segment der Größe 64KB geladen und der Compiler würde eine EXE-Datei erzeugen. Aufgrund diverser Beschränkungen, die mit der Einbindung der Include-Datei zu Speichervorbelegung einhergehen, kann im Rahmen des Praktikums nur das Speichermodell tiny verwendet werden. Zeile 10:.DATA definiert den Anfang des Datensegments. Nach.Data werden z.b. Daten, Variablen und Puffer definiert. Zeile 14:.CODE definiert den Anfang des Codesegments. Nach.CODE folgen die Befehle. Zeile 19: HLT teilt dem Compiler mit, dass hier das Programm zu Ende ist. Während der Emulation wird der Programmlauf hier beendet. 6.4 Ein einfaches Programm Das folgende Programm wurde unter Verwendung des Templates erstellt. Es demonstriert eine einfache Konsolenaussgabe mit Hilfe von DOS-Interrupts. 01: name "Template" 02: 03: include "data.inc" 04: 05: org 0100H 06: 07:.MODEL TINY ;Das Speichermodell 08: 09: 10:.DATA ;Beginn des Datensegments 11: 12: Meld DB "Hallo Welt!$" ;Die Meldung 13: 14:.CODE 15: start:mov ;Adresse des Datensegments nach ax 16: mov ds,ax ;Datensegmentadr. in Segmentregister 17: mov dx,offset Meld ;Die Offsetadresse von Meldung nach dx 18: mov ah,09h ;Den Wert neun nach ah schieben 19: int 21h ;Interrupt 21h Funktion 09h aufrufen 20: ;= Write String. Geschrieben wird bis zum $ 21: mov ah,4ch ;DOS Funktion Programm beenden 22: int 21h ;Programm beenden 19: ende: HLT 21

23 6.5 Erläuterung Das Grundgerüst der Quellcodedatei wurde bereits weiter oben erläutert. Im Folgenden wird der Inhalt des Beispielprogramms näher erläutert. Zeile 12: Hier wird die Variable Meld angelegt. Über diese Variable kann später ein Speicherbereich angesprochen werden, der an dieser Stelle mit einer Zeichenkette vorbelegt wird. Dafür muss zuerst der Variablenname angegeben werden, dann folgt der Datentyp, in diesem Fall DB (Das B in DB steht für Byte. Es zeigt an, dass es sich bei dem Speicherbereich um eine Sequenz von Bytes handelt. Eine Alternative wäre DW, was den Speicherbereich zu einer Sequenz von Words macht hier nicht von Belang). Zuletzt folgt die Belegung des Speicherbereichs. Soll der Speicher mit einer Zeichenkette belegt werden, so muss diese in Anführungszeichen angegeben werden. Zeile 15: Hier wird die Anfangsadresse des für die Variable Meld reservierten Speicherbereiches in das Register DX geladen um den Text in Meld mit Hilfe der folgenden Interruptroutine ausgeben zu können. Mit Hilfe des Vorsatzes OFFSET kann man die Anfangsadresse einer beliebigen Variablen abrufen. Zeile 16/17: Hier wird die Dos-Interruptroutine zur Ausgabe eines Textes auf der Konsole aufgerufen um den in Meld enthaltenen Text auszugeben. Zeile 19/20: Hier wird eine Dos-Interruptroutine zum Beenden des Programmes aufgerufen. Damit wird das Programm explizit durch das simulierte Betriebssystem des emu8086- Emulators beendet. Diesen Aufruf kann man auch weg lassen, da das Programm beim Erreichen des HLT-Befehls implizit beendet wird. 22

Assembler DOS (Beta 1) Copyright 2000 Thomas Peschko. Assembler II - DOS. ASSEMBLER Arbeiten mit Dateien und Daten.

Assembler DOS (Beta 1) Copyright 2000 Thomas Peschko. Assembler II - DOS. ASSEMBLER Arbeiten mit Dateien und Daten. Assembler II - DOS ASSEMBLER Arbeiten mit Dateien und Daten peschko@aol.com 1 Wer nun den Eindruck hat, dass unsere Programme hauptsächlich nur Unterprogramme vor ihren Karren spannen und sich darauf beschränken

Mehr

Der MS-DOS Standardmonitor und Debugger DEBUG

Der MS-DOS Standardmonitor und Debugger DEBUG Einfache Assemblerprogrammierung mit DOS-DEBUG 1/7 Auf Personalcomputern kann in der Regel leicht eine einfache Umgebung zur Software-Entwicklung für die Intel Rechnerfamilie 80x86 eingerichtet werden.

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr

Visual Basic Editor CATIA V5

Visual Basic Editor CATIA V5 Visual Basic Editor CATIA V5 Daniel Frauenrath Allgemein Der Visual Basic Editor ist fester Bestandteil von CATIA V5. Im Gegensatz zum internen Editor für CATScript und CATVbs hat der Visual Basic Editor

Mehr

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Michael Jugovac Dominik Kopczynski Jan Quadflieg Till Schäfer Stephan Windmüller Dortmund, den 30. Oktober 2014 Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Es können 12 (+5

Mehr

Word starten. Word Word 2010 starten. Schritt 1

Word starten. Word Word 2010 starten. Schritt 1 Schritt 1 Word 2010 starten. 2) Klicke danach auf Microsoft Office Word 2010. Sollte Word nicht in dieser Ansicht aufscheinen, dann gehe zu Punkt 3 weiter. 1) Führe den Mauszeiger auf die Schaltfläche

Mehr

Handbuch zum VivaWeb-Serienbrief-Programm

Handbuch zum VivaWeb-Serienbrief-Programm Handbuch zum VivaWeb-Serienbrief-Programm In 10 Schritten zum Serienbrief Das folgende Handbuch erläutert Ihnen die Nutzungsmöglichkeiten des ARV Serienbrief-Programms in all seinen Einzelheiten. Dieses

Mehr

Assembler - Adressierungsarten

Assembler - Adressierungsarten Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01

Mehr

zur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt

zur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt Serienbriefe Wie Sie einen Serienbrief mittels Calc und Writer erstellen zur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt Inhaltsverzeichnis 1. Erzeugen einer Quelldatei 2. Erzeugung

Mehr

Aufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi

Aufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi Grundlagen der Programmierung 1 WS 2012/2013 Prof. Dr. Stefan Böttcher Aufgabenblatt 1: - Präsenzübung für die Übungen Do. 11.10.- Mi. 17.10.2012 Ausgabe Mi. 10.10.2012 1.1. Zahlen vertauschen mit wenigen

Mehr

Der Serienbrief bzw. Seriendruck

Der Serienbrief bzw. Seriendruck Der Serienbrief bzw. Seriendruck Sie lernen einen Serienbrief zu erstellen. In Word 2010 wird der Serienbrief unter der allgemeinen Bezeichnung Seriendruck geführt. Er besteht aus einem Hauptdokument (dem

Mehr

Stapelverarbeitung mit Adobe Acrobat Professional. Leibniz Universität IT Services Anja Aue

Stapelverarbeitung mit Adobe Acrobat Professional. Leibniz Universität IT Services Anja Aue Stapelverarbeitung mit Adobe Acrobat Professional Leibniz Universität IT Services Anja Aue Stapelverarbeitung Befehlsfolgen werden automatisiert abgearbeitet. Eine Reihe von Aktionen werden manuell gestartet

Mehr

Strings. Daten aus Dateien einlesen und in Dateien speichern.

Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings Ein String ist eine Zeichenkette, welche von MATLAB nicht als Programmcode interpretiert wird. Der Ausdruck 'a' ist ein String bestehend

Mehr

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 1 Einführung in die Programmierung Erste Programme Einführung in die Programmierung 2 Institut für Computational Science, ETH Zürich,

Mehr

Informatik für Elektrotechnik und Informationstechnik

Informatik für Elektrotechnik und Informationstechnik Informatik für Elektrotechnik und Informationstechnik Praktikum 1 Wintersemester 2013/14 1 Kennenlernen der Entwicklungsumgebung Netbeans Netbeans ist eine moderne Entwicklungsumgebung für mehrere Programmiersprachen,

Mehr

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 1 / 53 Inhaltsverzeichnis 1 Einführung 2 Assembler Syntax, Register und Flags 3 Hauptspeicher 4 Stack 5 Assemblerbefehle

Mehr

Einführung in Automation Studio

Einführung in Automation Studio Einführung in Automation Studio Übungsziel: Der links abgebildete Stromlaufplan soll mit einer SPS realisiert werden und mit Automation Studio programmiert werden. Es soll ein Softwareobjekt Logik_1 in

Mehr

1 Dokument hochladen Dokument verschieben Neuen Ordner einfügen Ordner verschieben Dokumente und Ordner löschen...

1 Dokument hochladen Dokument verschieben Neuen Ordner einfügen Ordner verschieben Dokumente und Ordner löschen... Die Dokumentenverwaltung von basis.kirchenweb.ch (Version 16.07.2012 / bn) Inhalt 1 Dokument hochladen... 2 2 Dokument verschieben... 2 3 Neuen Ordner einfügen... 3 4 Ordner verschieben... 3 5 Dokumente

Mehr

Kurze Einführung in die C++-Entwicklungsumgebung Visual Studio 2005

Kurze Einführung in die C++-Entwicklungsumgebung Visual Studio 2005 Kurze Einführung in die C++-Entwicklungsumgebung Visual Studio 2005 Visual Studio 2005 downloaden und installieren Visual Studio 2005 (VS) ist eine Entwicklungsumgebung von Microsoft für mehrere Programmiersprachen,

Mehr

Turbo Assembler TASM. Man findet den TASM auf meiner Homepage in folgendem Verzeichnis. Informationstechnik speziell Systemsoftware

Turbo Assembler TASM. Man findet den TASM auf meiner Homepage in folgendem Verzeichnis. Informationstechnik speziell Systemsoftware Turbo Assembler TASM Man findet den TASM auf meiner Homepage in folgendem Verzeichnis Informationstechnik speziell Systemsoftware 1 Disk1, Disk2 und Disk3 alle in ein Verzeichnis kopieren. Dann install.exe

Mehr

Übersicht Shell-Scripten

Übersicht Shell-Scripten !!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,

Mehr

D i g i t a l l a b o r

D i g i t a l l a b o r Hochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik Prof. Dr. A. Ditzinger / Dipl.-Inform. (FH) O. Gniot Prof. Dr. N. Link / Dipl.-Ing. J. Krastel D i g i t a

Mehr

Praktikum Mikrocomputertechnik. Anleitung

Praktikum Mikrocomputertechnik. Anleitung Praktikum Mikrocomputertechnik Anleitung Im Praktikum wird der Mikrocontroller 68332 von Motorola verwendet. Dieser Mikrocontroller besteht aus einer 32-Bit CPU und integrierten Peripheriebausteinen (ser.

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 1 SS 2016

Mehr

Visualiserung des Prinzips von virtuellem Speicher

Visualiserung des Prinzips von virtuellem Speicher Visualiserung des Prinzips von virtuellem Speicher Benutzerhandbuch Inhaltsverzeichnis Installationsanweisung 3 Systemanforderung 3 Das Programm 3 Das Programm starten 3 Das Hauptfenster der segmentorientierten

Mehr

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: 1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address

Mehr

Grundlagen der Programmentwicklung

Grundlagen der Programmentwicklung Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Über C++ Über C++ C++ ist eine in der Industrie

Mehr

BASIC-Tiger Starter Kit. Tel: +49 (241) Fax: +49 (241)

BASIC-Tiger Starter Kit. Tel: +49 (241) Fax: +49 (241) BASIC-Tiger Starter Kit Tel: +49 (241) 918 900 Fax: +49 (241) 918 9044 Email: info@wilke.de 1 2 Wilke Technology GmbH Krefelder Str. 147 52070 Aachen Germany BASIC-Tiger Starter Kit Willkommen beim BASIC-Tiger

Mehr

DAS EINSTEIGERSEMINAR

DAS EINSTEIGERSEMINAR DAS EINSTEIGERSEMINAR Microsoft Office Excel 2010 Gudrun Rehn-Göstenmeier LERNEN ÜBEN ANWENDEN Teil I: Lernen L1 Dateiorganisation Bevor wir uns mit den Excel-spezifischen Befehlen und Funktionen befassen

Mehr

Die Baugruppen der VIPA GmbH sind direkt im Hardwarekonfigurator verfügbar und können so vereinfacht konfiguriert werden.

Die Baugruppen der VIPA GmbH sind direkt im Hardwarekonfigurator verfügbar und können so vereinfacht konfiguriert werden. 1 Einleitung. WinSPS-S7 V5 ist eine moderne Programmiersoftware für S7-Steuerungen. Unterstützt werden S7- Steuerungen von SIEMENS (S7-300, S7-400) und S7-Steuerung der Firma VIPA GmbH (System100V, System200V,

Mehr

Kopf-/Fußzeilen und Seitenzahlen

Kopf-/Fußzeilen und Seitenzahlen Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz Datei Neu... Datei öffnen Datei schließen Beenden Suchen Suchen & Ersetzen Verknüpfungen Optionen Einfügen Inhalte einfügen Format

Mehr

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

Einführung zum MS Visual Studio

Einführung zum MS Visual Studio 0 Visual Studio Verzeichnispfade einstellen Stellen Sie nach dem Start von Visual Studio zunächst Ihr Home-Laufwerk, d.h. den Pfad für Ihre Projektverzeichnisse und Dateien ein. Beenden Sie Visual Studio

Mehr

DLR SchoolLab Lektion 1 Erste Schritte

DLR SchoolLab Lektion 1 Erste Schritte 1 Navigation Die Entwicklungsoberfläche lässt sich durch sechs Buttons am unteren Bildschirmrand bedienen. Alternativ kann man auch über die Tastatur navigieren. Hierfür gibt es folgdende Abkürzungen:

Mehr

Assembler - Einleitung

Assembler - Einleitung Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

FAQ Kommunikation über PROFIBUS

FAQ Kommunikation über PROFIBUS FAQ Kommunikation über PROFIBUS S7-Kommunikation über PROFIBUS FAQ Inhaltsverzeichnis Inhaltsverzeichnis... 2 Frage... 2 Wie projektieren Sie eine S7-Verbindung für den SIMATIC NET OPC- Server über PROFIBUS

Mehr

2017/01/23 15:50 1/5 Bedienung

2017/01/23 15:50 1/5 Bedienung 2017/01/23 15:50 1/5 Bedienung Bedienung (J.Müller, Hilfe zu JTCEMU) Das originale 2K-System Das 2 KByte große Betriebssystem bietet die wichtigsten Funktionen zur Eingabe und Verwaltung von BASIC-Programmen.

Mehr

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Iman Kamehkhosh, Marcel Preuÿ, Henning Timm Übungsblatt 2

Mehr

Assembler - Einführung 2. Teil

Assembler - Einführung 2. Teil Assembler Einführung 2. Teil (Beta 2) Assembler Einführung 2. Teil Assembler Tools und Umgebung 1 Assembler Einführung 2. Teil (Beta 2) 1. Programmaufbau Wie im ersten Teil schon erwähnt wird ein Assemblerprogramm

Mehr

Hierfür sind mit dem Content Management System (CMS) Joomla in Verbindung mit SIGE Pro Inhalte angelegt worden, die genau diesen Zweck erfüllen.

Hierfür sind mit dem Content Management System (CMS) Joomla in Verbindung mit SIGE Pro Inhalte angelegt worden, die genau diesen Zweck erfüllen. Tutorial / Anleitung Fotogalerie SIGE Pro v3.1.0 mit Joomla CMS 3.5.1 Klaus Große-Erwig Stand: 05/2016 Mit der Fotogalerie SIGE Pro ist ein wahlfreier Zugriff auf große Bestände an Bildmaterial möglich,

Mehr

Ausbildungsziel: Erstellung eines Briefes mit Hilfe von Vorlagen

Ausbildungsziel: Erstellung eines Briefes mit Hilfe von Vorlagen Ausbildungsziel: Erstellung eines Briefes mit Hilfe von Vorlagen 1. Grundlagen (Inhalt Menü) Einer der grundlegendsten Anwendungen des Computers ist die als Schreibmaschine! Im Gegensatz zur Schreibmaschine

Mehr

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c 1 Transportbefehle 1.1 Verwendung nur Akku und Register (R0, R1,... R7) 1.1.1 Kopieren Sie den Wert aus Register1 nach

Mehr

Newssystem für den eigenen Lehrstuhl einrichten

Newssystem für den eigenen Lehrstuhl einrichten Newssystem für den eigenen Lehrstuhl einrichten Zunächst muss unterhalb des Lehrstuhlordners (im Beispiel Schulpädagogik) ein Neuer Ordner config angelegt werden: Der Dateiname des neuen Ordners sollte

Mehr

Benutzerhandbuch. ce - Inspector

Benutzerhandbuch. ce - Inspector ce - Inspector Stand: ce -Inspector 1.0 rel 21 17.01.2007 Erstellt durch Dipl.-Ing. (FH) Helmut Eß Am Hafen 22.. Telefon (0531)310390. Fax (0531)313074. E-Mail: info@was-bs.de. http://www.was-bs.de Seite:

Mehr

Beschreibung für Import der Protokolldaten nach Microsoft Excel

Beschreibung für Import der Protokolldaten nach Microsoft Excel Beschreibung für Import der Protokolldaten nach Microsoft Excel Revision 1.0 1. Allgemeines Für die DerbyControl Messanlage gibt es Protokollierungsfunktion der Messdaten. Diese Messdaten werden im Programmverzeichnis

Mehr

10. Die Adressierungsarten des MSP 430

10. Die Adressierungsarten des MSP 430 10. Die Adressierungsarten 10.1 Übersicht über die Adressierungsarten 10.2 -Operanden 10.3 Indexregister mit Distanz 10.4 Symbolische (relativ zum ) 10.5 Absolute 10.6 Indirekte 10.7 Indirekte Adressierung

Mehr

Novell. GroupWise 2014 effizient einsetzen. Peter Wies. 1. Ausgabe, Juni 2014

Novell. GroupWise 2014 effizient einsetzen. Peter Wies. 1. Ausgabe, Juni 2014 Peter Wies 1. Ausgabe, Juni 2014 Novell GroupWise 2014 effizient einsetzen GW2014 1 Novell GroupWise 2014 effizient einsetzen Menüleiste Navigationsleiste Symbolleisten Kopfleiste Favoritenliste Fensterbereich

Mehr

Übungspaket 12 Der Datentyp char

Übungspaket 12 Der Datentyp char Übungspaket 12 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char, 2. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 29 bis 31 sowie 24,

Mehr

Grundkurs Teil 2. Senioren-Computerclub-Dulach Bienleinstorstr. 22 Dienstags von 10:00 bis 12:00 Uhr G.B.

Grundkurs Teil 2. Senioren-Computerclub-Dulach Bienleinstorstr. 22 Dienstags von 10:00 bis 12:00 Uhr G.B. Grundkurs 9.10.2006 Teil 2 Senioren-Computerclub-Dulach Bienleinstorstr. 22 Dienstags von 10:00 bis 12:00 Uhr DAS SCHREIBMASCHINENFELD Das Schreibmaschinenfeld besteht aus Tasten mit numerischen, alphanumerischen

Mehr

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace. Starten Sie Eclipse: Abgesehen vom Kommandozeilenfenster, auf welches wir später eingehen, öffnet sich ein Dialog (in der FH vermutlich nicht, überspringen Sie in diesem Fall): Hier tragen sie Ihr Arbeitsverzeichnis

Mehr

Serienbrief erstellen

Serienbrief erstellen Um in Word 2010 einen Serienbrief zu erstellen, muss man den Seriendruck-Assistenten aufrufen. Der Seriendruck-Assistent führt dich in sechs Schritten durch diese Thematik. Dabei enthält jeder Schritt

Mehr

32.4 Anpassen von Menüs und Symbolleisten 795i

32.4 Anpassen von Menüs und Symbolleisten 795i 32.4 Anpassen von Menüs und Symbolleisten 795i Fortsetzung der Seiten in der 8. Auflage 32.4 Anpassen von Menüs und Symbolleisten 32.4.1 Anpassen von Menüs Die Menüs können um folgende Typen von Optionen

Mehr

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken Im Folgenden finden Sie jeweils die korrekte Antwort zu den im Buch abgedruckten Prüfungsfragen, soweit die Antworten in Textform

Mehr

Grundlagen der Informatik Vorlesungsskript

Grundlagen der Informatik Vorlesungsskript Grundlagen der Informatik Vorlesungsskript Prof. Dr. T. Gervens, Prof. Dr.-Ing. B. Lang, Prof. Dr. F.M. Thiesing, Prof. Dr.-Ing. C. Westerkamp 16 AUTOMATISCHES ÜBERSETZEN VON PROGRAMMEN MIT MAKE... 2 16.1

Mehr

Eine Kommando-Oberfläche für.net

Eine Kommando-Oberfläche für.net Institut für Systemsoftware O.Univ.-Prof. Dr. Hanspeter Mössenböck Eine Kommando-Oberfläche für.net In.NET (wie auch in vielen anderen Systemen) haben Programme nur einen einzigen Eintrittspunkt (ihre

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines

Mehr

Hinweise zum Programm Überprüfung des Betriebszustandes von Kläranlagen. Bitte prüfen Sie regelmäßig den aktuellen Stand der Software im Internet!

Hinweise zum Programm Überprüfung des Betriebszustandes von Kläranlagen. Bitte prüfen Sie regelmäßig den aktuellen Stand der Software im Internet! Hinweise zum Programm Überprüfung des Betriebszustandes von Kläranlagen Bitte prüfen Sie regelmäßig den aktuellen Stand der Software im Internet! Vor Programmstart muss die Makrosicherheit richtig eingestellt

Mehr

Variablen und Datentypen

Variablen und Datentypen Programmieren mit Python Modul 1 Variablen und Datentypen Selbstständiger Teil Inhaltsverzeichnis 1 Überblick 3 2 Teil A: Geldautomat 3 2.1 Einführung.................................. 3 2.2 Aufgabenstellung...............................

Mehr

Shooter. Weitere Anleitungen und Hilfen zur Bearbeitung im. Programm

Shooter. Weitere Anleitungen und Hilfen zur Bearbeitung im. Programm Shooter Weitere Anleitungen und Hilfen zur Bearbeitung im Programm Manfred Alten 1 Anwendungen am Wettkampftag Nach dem Start des Shooter > Überzeugen Sie sich, dass der richtige Bereich (die richtige

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 29.09.2005 Brief schreiben, ablegen, ändern Die FlowFact Word-Einbindung macht es möglich, direkt von FlowFact heraus Dokumente zu erzeugen, die automatisch über

Mehr

Innovator 11 excellence. Anbindung an Visual Studio. Einführung, Installation und Konfiguration. Connect. Roland Patka.

Innovator 11 excellence. Anbindung an Visual Studio. Einführung, Installation und Konfiguration. Connect. Roland Patka. Innovator 11 excellence Anbindung an Visual Studio Einführung, Installation und Konfiguration Roland Patka Connect www.mid.de Inhaltsverzeichnis Einführung... 1 Innovator Add-in im Visual Studio registrieren...

Mehr

1. Keil starten. Sollten Sie keinen leeren Bildschirm haben, löschen Sie einfach die

1. Keil starten. Sollten Sie keinen leeren Bildschirm haben, löschen Sie einfach die 1 Einführung Keil uvision Bevor Sie Keil uvision starten, erstellen Sie sich einen Ordner im Verzeichnis C:/Keil/ wo Sie Ihre Projekte später ablegen. In diesem Ordner kopieren Sie die Datei 0_template.a51.

Mehr

Einrichten und Verwenden der Solutio Charly PA-Konzepte Schnittstelle

Einrichten und Verwenden der Solutio Charly PA-Konzepte Schnittstelle Einrichten und Verwenden der Solutio Charly PA-Konzepte Schnittstelle Version 1.3.11 vom 22.11.2016 Haftungsausschluss Die Firma PA-Konzepte GbR übernimmt keinerlei Support, Garantie und keine Verantwortung

Mehr

TYPO3 Redaktoren-Handbuch

TYPO3 Redaktoren-Handbuch TYPO3 Redaktoren-Handbuch Kontakt & Support: rdv interactive ag Arbonerstrasse 6 9300 Wittenbach Tel. 071 / 577 55 55 www.rdvi.ch Seite 1 von 38 Login http://213.196.148.40/typo3 Username: siehe Liste

Mehr

IHK-Reutlingen SERIENDRUCK MIT WORD 2003. Y. u. J. THOMALLA, Horb

IHK-Reutlingen SERIENDRUCK MIT WORD 2003. Y. u. J. THOMALLA, Horb IHK-Reutlingen SERIENDRUCK MIT WORD 2003 Y. u. J. THOMALLA, Horb INHALT 1 GRUNDLAGEN...1 1.1 GRUNDAUFBAU VON SERIENBRIEFEN...1 1.2 SERIENDRUCK IM ÜBERBLICK...1 1.3 EINSTELLUNGEN ZUM SERIENDRUCK...2 2 DATENQUELLEN

Mehr

Eclipse Tutorial.doc

Eclipse Tutorial.doc Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik Eclipse Tutorial 2005, HTI Burgdorf R. Weber Dateiname: Eclipse

Mehr

Klausur zur Mikroprozessortechnik

Klausur zur Mikroprozessortechnik Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Klausur zur Mikroprozessortechnik Nachname: Vorname: Matrikelnummer: 7.3.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Kurzanleitung. Zitiertil-Creator. Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz

Kurzanleitung. Zitiertil-Creator. Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz Datei Neu... Datei öffnen Datei schließen Beenden Suchen Suchen & Ersetzen Verknüpfungen Optionen Einfügen Inhalte einfügen Format

Mehr

CPK-Terminal Bedienungsanleitung

CPK-Terminal Bedienungsanleitung CPK-Terminal Bedienungsanleitung 1. Software Installation Führen Sie die Setup -Datei aus, die sich auf der DYNTEST-CD befindet. Wählen Sie Ihre Sprache und drücken dann den OK -Button, woraufhin die Installationsvorbereitung

Mehr

Frilo.Document.Designer

Frilo.Document.Designer Erstellt am 19. Februar 2011 Letzte Änderung am 10. Juni 2011 Version 4.2011.1.2 Seite 1 von 8 Inhalt 1 Erste Schritte...4 1.1 Arbeiten in der Verwaltung FCC und Erstellen eines Dokumentes...4 1.2 Erstellen

Mehr

Kapitel 1: Die ersten Schritte Thema: Programmieren Seite: 1

Kapitel 1: Die ersten Schritte Thema: Programmieren Seite: 1 Kapitel 1: Die ersten Schritte Thema: Programmieren Seite: 1 Kapitel 1: Die ersten Schritte mit Greenfoot 1 Starten Sie Greenfoot. (Wenn Sie Greenfoot das erste Mal öffnen, erscheint ein Dialogfenster,

Mehr

Kurzanleitung zur Verwendung der Java-IDE NetBeans (1)

Kurzanleitung zur Verwendung der Java-IDE NetBeans (1) FG TECHNISCHE INFORMATIK U JV 055 01 TH 01 Kurzanleitung zur Verwendung der Java-IDE NetBeans (1) Erzeugung eines neuen Projekts Start der NetBeans-IDE Menü "Datei" Auswahl "Neues Projekt" (CTRL-Shift-N)

Mehr

6. Zeiger Allgemeines Definition eines Zeigers

6. Zeiger Allgemeines Definition eines Zeigers 6. Zeiger www.c-programme.de Stefan Thiemert Kapitel 6 - Seite 1 von 6 6. 1. Allgemeines Zeiger spielen in der Programmierung eine wichtige Rolle. Sie sind wichtig, bei der Arbeit mit Arrays und Funktionen.

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Wir wollen uns heute dem Thema Variablen widmen und uns damit beschäftigen, wie sich

Mehr

Brainfuck Interpreter für ZX81

Brainfuck Interpreter für ZX81 Brainfuck Interpreter für ZX81 Sprache Befehle Die Programmiersprache Brainfuck hat wenige, einfache Regeln. Es gibt 8 Befehle + - > < [ ],. Jeder Befehl besteht aus einem einzelnen Zeichen. Es gibt keine

Mehr

b.a.b-technologie gmbh ThemeEditor Dokumentation

b.a.b-technologie gmbh ThemeEditor Dokumentation b.a.b-technologie gmbh ThemeEditor Dokumentation Anleitungsversion IV Stand 03/2013 Datum: 18. April 2013 DE Inhaltsverzeichnis b.a.b technologie gmbh im INHOUSE Dortmund Rosemeyerstr. 14 44139 Dortmund

Mehr

3 Maps richtig ablegen und

3 Maps richtig ablegen und PROJEKT MindManager 2002 Intensiv 3 Maps richtig ablegen und speichern Ihre Map ist nun fertig gestellt wenn Sie jetzt Ihre Arbeit mit MindManager beenden, ohne die aktuellen Eingaben und Formatierungen

Mehr

Grundlagen der Fortran Sprache

Grundlagen der Fortran Sprache Kapitel 1 Grundlagen der Fortran Sprache Programmieren bezeichnet das Verfahren, in einer bestimmten Sprache (Syntax) Anweisungen (sog. Quellcode) für den Computer zu schreiben. Dieser Programmcode wird

Mehr

HANDBUCH. für die Arbeit auf den Portalen der SolDaCon UG. Version 1.1 Stand Handbuch SolDaCon 1.1 1

HANDBUCH. für die Arbeit auf den Portalen der SolDaCon UG. Version 1.1 Stand Handbuch SolDaCon 1.1 1 HANDBUCH für die Arbeit auf den Portalen der SolDaCon UG Version 1.1 Stand 15.02.2017 Handbuch SolDaCon 1.1 1 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis 2 2. Allgemeines 3 3. Zugangsdaten 4 4. Bearbeitung

Mehr

Arabische Ornamente in OpenOffice bearbeiten

Arabische Ornamente in OpenOffice bearbeiten Arabische Ornamente in OpenOffice bearbeiten OpenOffice ist eine frei erhältliche professionelle Software, die unter http://www.openoffice.org heruntergeladen werden kann, wenn sie nicht bereits auf dem

Mehr

Hilfe zur Dokumentenverwaltung

Hilfe zur Dokumentenverwaltung Hilfe zur Dokumentenverwaltung Die Dokumentenverwaltung von Coffee-CRM ist sehr mächtig und umfangreich, aber keine Angst die Bedienung ist kinderleicht. Im Gegensatz zur Foto Galeria können Dokumente

Mehr

Mandatierte Eigenschaften mit Angaben in Freien Belegfeldern vergleichen.

Mandatierte Eigenschaften mit Angaben in Freien Belegfeldern vergleichen. Mandatierte Eigenschaften mit Angaben in Freien Belegfeldern vergleichen. Vorgabe: In den Freien Belegpositionsfeldern wird für einen Beleg bzw. seine Positionen eine allgemeine Vorgabe für eine mandatierte

Mehr

Bekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software

Bekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software Bekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software Stand. September Seite 9 Bild. Am Ausgang des Multiplexers fehlt ein D, um ihn als Datenausgang zu kennzeichnen. Seite

Mehr

Von-Neumann-Architektur

Von-Neumann-Architektur Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..

Mehr

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving

Mehr

Die Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt.

Die Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt. Die Befehle des Modellrechners in übersichtlichen Tabellen: Alle Opcodes sind Hexadezimal angegeben (s.u.). 1.) Die Ladebefehle zwischen den einzelnen Registern. In der oberen Zeile steht jeweils die Quelle

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 1: Von der Maschinensprache zu C Prof. Dr. Maschinensprache: MIPS R2000 Was bewirkt folgendes Programm: 00100111101111011111111111100000 10101111101111110000000000010100

Mehr

3 Mit Programmen und Fenstern

3 Mit Programmen und Fenstern 34 MIT PROGRAMMEN UND FENSTERN ARBEITEN 3 Mit Programmen und Fenstern arbeiten In dieser Lektion lernen Sie wie Sie Programme starten und wieder beenden wie Sie mit Fenstern arbeiten Ein Programm starten

Mehr

Kurzbeschreibung S&S Arbeitszeiterfassung

Kurzbeschreibung S&S Arbeitszeiterfassung S&S 1. Installation 1.1 Excel konfigurieren bis Office-Version 2003 Starten Sie zuerst Excel, klicken Sie das Menü EXTRAS, MAKRO>, SICHERHEIT. Wenn nicht schon der Fall, schalten Sie die SICHERHEITSSTUFE

Mehr

Daniel Betz Wintersemester 2011/12

Daniel Betz Wintersemester 2011/12 Daniel Betz Wintersemester 2011/12 Digitally signed by daniel.betz@daniel-betz.com Date: 2011.12.04 17:24:40 +01'00' Insgesamt 16 Register von je 16 Bit (=WORD) Breite Untere 8 Register auch als 2 Register

Mehr

Hannover: Lebensqualität in der Südstadt

Hannover: Lebensqualität in der Südstadt Hannover: Lebensqualität in der Südstadt Schülerhandreichung zum Umgang mit Spatial Commander Ein Projektentwurf im Rahmen des Seminars Der PC Einsatz im Geographieunterricht der Leibniz Universität Hannover

Mehr

Herausfinden der 'User' von eingegebenen Daten in ProMISe

Herausfinden der 'User' von eingegebenen Daten in ProMISe Herausfinden der 'User' von eingegebenen Daten in ProMISe Um herauszufinden, von welchem User bestimmte Daten eines Falles eingegeben, geändert oder gelöscht wurden, braucht man zuerst einen Filter, der

Mehr

Anleitung zum Download der EBMG_Datei_9_2.xls

Anleitung zum Download der EBMG_Datei_9_2.xls Anleitung zum Download der EBMG_Datei_9_2.xls Die folgende Beschreibung ist für die jeweils aktuelle Download-Version, unabhängig von Dateiname oder Versionsnummer, gültig. Die aktuelle Bezeichnung lautet

Mehr

Erzherzog Johann Jahr 2009

Erzherzog Johann Jahr 2009 Erzherzog Johann Jahr 2009 Der Erzherzog Johann Tag an der FH JOANNEUM in Kapfenberg Was wird zur Erstellung einer Webseite benötigt? Um eine Webseite zu erstellen, sind die folgenden Dinge nötig: 1. Ein

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Anwenderhandbuch Online Redaktionssystem. Datenübermittlung Kirchennachrichten Stand: April 2010

Anwenderhandbuch Online Redaktionssystem. Datenübermittlung Kirchennachrichten Stand: April 2010 Anwenderhandbuch Online Redaktionssystem Datenübermittlung Kirchennachrichten Stand: April 2010 2 15 Inhaltsverzeichnis Inhaltsverzeichnis... 2 Einführung... 3 1. Login... 4 1.1 Persönliche Daten eingeben...

Mehr