Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes"

Transkript

1 Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la $a0,msg li $v0,4 syscall jr $ra 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 1

2 Inhalt 1. Literatur 2. Kontrollstrukturen in Assembler 3. Hinweise zur praktischen Umsetzung 4. Zusammenfassung und Ausblick 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 2

3 Literatur [BO10] Bryant, Randal E. und David R. O Hallaron: Computer Systems - A Programmer s Perspective. Prentice Hall, November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 3

4 Übersicht In höheren Programmiersprachen sind verschiedene Kontrollstrukturen verfügbar if/else do-while Schleife while Schleife for Schleife case Anweisungen Umsetzung in IA32-Assembler, normalerweise Aufgabe eines Compilers Ausgangspunkt: Pseudosprache (an C angelehnt) 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 4

5 if/else I Programmausschnitt eines if/else Statements i n t x ; 3 i n t y ; 4 i n t erg ; 5 i f ( x<y ) 6 erg = y x ; 7 else 8 erg = x y ; November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 5

6 if/else II Realisierung in Assembler 1. data 2 x :. long 3 3 y :. long 5 4 erg :. long 0 5. g l o b l main 6 movl x,%edx # edx e n t h ä l t x 7 movl y,%eax # eax e n t h ä l t y 8 cmpl %eax,%edx # V ergleich von y, x ( x y ) 9 jge. L2 10 subl %edx,%eax 11 jmp. L3 12. L2 : subl %eax,%edx 13 movl %edx,%eax 14. L3 : movl %eax, erg 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 6

7 Kontrolloperationen Vergleichsbefehle setzen die Statusflags Abbildung: Quelle: [BO10, S. 220] Statusflags werden aber auch von addl, subl usw. gesetzt. 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 7

8 Sprungbefehle Man beachte die Bedingungen (Jump condition) Abbildung: Quelle: [BO10, S. 224] 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 8

9 if/else III Realisierung in Assembler im Detail g l o b l main 3 movl x,%edx # edx e n t h ä l t x = 3 4 movl y,%eax # eax e n t h ä l t y = 5 5 # cmpl S2, S1 > S1 S2 6 cmpl %eax,%edx # V ergleich von y, x (3 5) = 2 7 # jge Bedingung : NOT (SF XOR OF), SF = 1, OF = 0, 8 # Ergebnis i s t 0, es wird also n i c h t gesprungen 9 jge. L2 10 subl %edx,%eax 11 jmp. L3 12. L2 : subl %eax,%edx 13 movl %edx,%eax 14. L3 : movl %eax, erg 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 9

10 do-while Schleife Programmausschnitt einer do-while Schleife i n t r e s u l t = 1; 3 i n t n = 5; 4 do { 5 r e s u l t * = n ; ( r e s u l t = r e s u l t * n ) 6 n = n 1; 7 } while ( n > 1 ) ; November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 10

11 do-while Schleife Realisierung in Assembler: erste Implementierung 1. data 2 r e s u l t :. long 1 3 n :. long 5 4. g l o b l main 5 movl n,%ebx # ebx e n t h ä l t n 6 movl $1,%eax # eax e n t s p r i c h t r e s u l t 7. L2 : 8 i m u l l %ebx 9 subl $1,%ebx 10 cmpl $1,%ebx 11 j g. L2 12 movl %eax, r e s u l t 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 11

12 do-while Schleife Realisierung in Assembler: erste Optimierung 1. data 2 r e s u l t :. long 1 3 n :. long 5 4. g l o b l main 5 movl n,%ebx # ebx e n t h ä l t n 6 movl $1,%eax # eax e n t s p r i c h t r e s u l t 7. L2 : 8 i m u l l %ebx 9 subl $1,%ebx 10 j g. L2 11 movl %eax, r e s u l t 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 12

13 Statusbits I Der Ausführung des Sprungbefehls jg ist abhängig von den Sprungbedingungen. Die Sprungbedingungen bei jg sind: NOT (SF XOR OV) AND NOT (ZF) SF - Signflag OF - Overflowflag ZF - Zeroflag Die Statusbits werden z. B. durch cmpl $1,%ebx gesetzt. Welche Statusbits setzt cmpl? SF - Signflag OF - Overflowflag ZF - Zeroflag CF - Carryflag November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 13

14 Statusbits II Welche Statusbits setzt der subl? (vgl. Folie do-while Schleife, erste Optimierung) SF - Signflag OF - Overflowflag ZF - Zeroflag CF - Carryflag... Offensichtlich verändern sowohl cmpl als auch subl die Statusbits. Der cmpl kann als Optimierung des Codes entfallen. 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 14

15 Berechnung von Statusbits I Ein paar Beispiele: Unterschied zwischen Carry und Overflow Angenommen: 2K-Darstellung. Die Zahlen sind 4 Bit breit. Der Zahlbereich ist also von -8 bis E: Es tritt kein Carry und kein Overflow auf. CF = 0, OF = 0 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 15

16 Berechnung von Statusbits II Ein paar Beispiele: Unterschied zwischen Carry und Overflow Angenommen: 2K-Darstellung. Die Zahlen sind 4 Bit breit. Der Zahlbereich ist also von -8 bis E: In diesem Fall tritt kein Carry, aber ein Überlauf auf. Beide Operanden 5 und 3 sind positiv. Das Vorzeichen aber ist negativ. CF = 0, OF = 1 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 16

17 Berechnung von Statusbits III Ein paar Beispiele: Unterschied zwischen Carry und Overflow Angenommen: 2K-Darstellung. Die Zahlen sind 4 Bit breit. Der Zahlbereich ist also von -8 bis E: In diesem Fall tritt ein Carry, aber kein Überlauf auf. aber ist negativ. CF = 1, OF = 0 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 17

18 Berechnung von Statusbits IV Ein paar Beispiele: Unterschied zwischen Carry und Overflow Angenommen: 2K-Darstellung. Die Zahlen sind 4 Bit breit. Der Zahlbereich ist also von -8 bis +7 Beispiel von if/else (3+(-5)) E: In diesem Fall tritt kein Carry und kein Überlauf auf. Das Vorzeichen ist negativ und das Vorzeichenbit (Signflag) wird eins. CF = 0, OF = 0, SF = 1 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 18

19 do-while Schleife Realisierung in Assembler mit loop 1. data 2 r e s u l t :. long 1 3 n :. long 5 4. g l o b l main 5 movl n,%ecx # ecx e n t h ä l t n 6 movl $1,%eax # eax e n t s p r i c h t r e s u l t 7. L2 : 8 i m u l l %ecx 9 loop. L2 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 19

20 Vergleich der Implementierungen Für eine do-while Schleife sind drei verschiedene Implementierungen möglich, die funktional identisch sind Wo sind jetzt die Vorteile? Takte der Befehle imull %ebx 141 Takte (bei 8086) subl $1,%ebx 4 Takte (bei 8086) cmpl $1,%ebx 4 Takte (bei 8086) jg.l2 16 bzw. 4 Takte (Sprung ausgeführt bzw. nicht ausgeführt) loop.l2 18 bzw. 5 Takte (Sprung ausgeführt bzw. nicht ausgeführt) Vergleich der Implementierungen erste Implementierung: Anzahl der Takte 165 Takte erste Optimierung: Anzahl der Takte 161 Takte Verwendung loop: Anzahl der Takte 159 Takte Aber Achtung: akademische Rechnung Durch Pipelining und Sprungvorhersage kann man das nicht mehr genau sagen 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 20

21 Besonderheiten bei der IA32-Architektur imull und idivl Wie funktioniert imull? Erweiterung des Registers %eax zu dem Registerpaar %edx : %eax Vor idivl: cdq (convert doubleword to quadword) oder cltd erweitert den Inhalt von 1. L2 : 2 i m u l l %ecx 3 loop. L cdq 6 i d i v l %ecx November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 21

22 Besonderheiten bei der IA32-Architektur Arithmetische Operationen 64 Bit Abbildung: Quelle: [BO10, S. 216] 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 22

23 Besonderheiten bei der IA32-Architektur Arithmetische Operationen und Interrupts Was passiert eigentlich bei der Division durch Null? Es wird ein Interrupt ausgelöst und das Programm beendet. Weitere Ereignisse auf die der Prozessor reagieren sollte: Invalid Opcode, falscher Opcode Overflow, Überlauf Aber Achtung: Überlauf kann trotzdem auftreten (vgl. Übung 1). 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 23

24 while Schleife Programmausschnitt einer while Schleife i n t r e s u l t = 1; 3 i n t n = 5; 4 while ( n > 1) { 5 r e s u l t * = n ; ( r e s u l t = r e s u l t * n ) 6 n = n 1; 7 } November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 24

25 while Schleife Realisierung in Assembler 1. data 2 r e s u l t :. long 1 3 n :. long 5 4. g l o b l main 5 movl n,%ebx # ebx e n t h ä l t n 6 movl $1,%eax # eax e n t s p r i c h t r e s u l t 7 cmpl $1,%ebx 8 j l e. L7 9. L10 : 10 i m u l l %ebx 11 subl $1,%ebx 12 cmpl $1,%ebx 13 j g. L L7 : November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 25

26 Vergleich der do-while und while Schleife Offenbar erstmal etwas aufwendiger (zwei Sprungbefehle statt einem), aber... Bestimmt noch Optimierungspotential November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 26

27 for Schleife Programmausschnitt einer for Schleife i n t i ; 3 i n t r e s u l t = 1; 4 i n t n = 5; 5 f o r ( i = 2; i <= n ; i ++) 6 r e s u l t * = i ; ( r e s u l t = r e s u l t * i ) November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 27

28 for Schleife Realisierung in Assembler 1. data 2 r e s u l t :. long 1 3 n :. long 5 4. g l o b l main 5 movl n,%ebx # ebx e n t h ä l t n 6 movl $2,%ecx # S c h l e i f e n v a r i a b l e i 7 movl $1,%eax # r e s u l t 8 cmpl $1,%ebx # V ergleich 9 j l e. L L17 : 11 i m u l l %ecx 12 addl $1,%ecx 13 cmpl %ecx,%ebx 14 jge. L L14 : November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 28

29 Zusammenfassung: Schleifen Im Prinzip kann auch die for Schleife mit einem loop abgedeckt werden. loop.l2 Verringert %ecx um eins und springt zur Speicheradresse (Label.L2), solange das Register nicht null ist. Im Prinzip wird die Steuerung des Kontollflusses (if/else, Schleifen) mit cmpl und jg, jge, je etc. abgedeckt. 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 29

30 Beispiel (auf dem RBG-Pool lauffähig). data intout :. string " Ergebnis %d \ n " r e s u l t :. long 1 n :. long 5. t e x t. g l o b l main main : movl n,%ebx # ebx e n t h ä l t n movl $2,%ecx # S c h l e i f e n v a r i a b l e i movl $1,%eax # r e s u l t cmpl $1,%ebx # V e r g l e i c h j l e. L14. L17 : i m u l l %ecx addl $1,%ecx cmpl %ecx,%ebx j g e. L17. L14 :. ende : pushl %eax # Wert im %eax ausgeben pushl $ i n t o u t call pri ntf # E x i t movl $1, %eax i n t $0x80 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 30

31 Hinweise zur praktischen Umsetzung I Die vorgestellten Programme sind alle auf den Rechnern der RBG getestet worden. Teilweise sind (aus Darstellungsgründen) einige Zeilen weggelassen worden. Eine vollständige Implementierung ist auf der Folie Kontrollstrukturen in Assembler Beispiel (auf dem RBG-Pool lauffähig) zu finden. Was verhindert die Portierbarkeit dieser Programme z. B. auf Windows? Sogenannte Systemcalls (movl $1, %eax, int $0x80): Dieser Systemcall dient der korrekten Beendigung des Programms 32 Bit Systeme, 64 Bit Systeme Aber selbst Linux-Systeme verhalten sich bzgl. der Systemcalls nicht gleich. Das ist der Nachteil: schlechte Portierbarkeit der Programme Für das Grundverständnis (Übung und Pratika) reichen die RBG-Rechner. Aufbau der eigenen Entwicklungsumgebung möglich, aber keinen Support. 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 31

32 Hinweise zur praktischen Umsetzung II Es geht nicht darum, unlesbaren und schwer verständlichen Code zu schreiben. Aus diesem Grunde ist es teilweise gefordert, vorher eine Hochsprachenimplementierung anzufertigen. Aufgrund dieser Hochsprachenimplementierung sollen dann (wie in dieser Vorlesung vorgestellt) die Assemblerprogramme entwickelt werden. Die Assemblerprogramme werden (in beliebiger Hochsprachensyntax wie C, Java, Pascal) kommentiert. Ggf. einen Debugger wie gdb verwenden. Bei sorgfältiger Programmierung sollte das aber nicht notwendig sein. Trial and error Programmierung nicht empfehlenswert 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 32

33 Startup Patrik und Wolfgang Link zu Umfrage 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 33

34 Zusammenfassung und Ausblick Kontrollstrukturen in Assembler Nächste Vorlesung behandelt Datentypen Bäume Arithemtische Ausdrücke 2. November 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 34

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes Grundlagen der Informatik III Wintersemester 2010/2011 7. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la

Mehr

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes Grundlagen der Informatik III Wintersemester 2010/2011 4. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la

Mehr

Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax. Operanden, Statusflags und Registersatz

Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax. Operanden, Statusflags und Registersatz Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax Autoren: Wolfgang Heenes, Patrik Schmittat Version: 0.4 Datum: 26. März 2011 Operanden, Statusflags und Registersatz Die vier Operanden sind: Direkter

Mehr

6. Grundlagen der Programmierung

6. Grundlagen der Programmierung Computeranwendung in der Chemie Informatik für Chemiker(innen) 6. Grundlagen der Programmierung Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL6 Folie 1 Dr. Jens Döbler Grundlagen

Mehr

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes Grundlagen der Informatik III Wintersemester 2010/2011 15. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la

Mehr

1 Maschinenunabhängige Optimierungen. Maschinenunabhängige Optimierungen Wintersemester 2008/09 1 / 17

1 Maschinenunabhängige Optimierungen. Maschinenunabhängige Optimierungen Wintersemester 2008/09 1 / 17 1 Maschinenunabhängige Optimierungen Maschinenunabhängige Optimierungen Wintersemester 2008/09 1 / 17 Optimierungen Automatische Optimierungen sind nötig, weil unoptimierter Code meist besser lesbar ist.

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

Assembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg

Assembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg Assembler Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2017/2018 V. Sieh Assembler (WS16/17) 1 15 Einleitung

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, Patrik Schmittat 2. Aufgabenblatt mit Lösungsvorschlag 08.11.2010 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen

Mehr

"Organisation und Technologie von Rechensystemen 4"

Organisation und Technologie von Rechensystemen 4 Klausur OTRS-4, 29.09.2004 Seite 1 (12) INSTITUT FÜR INFORMATIK Lehrstuhl für Rechnerarchitektur (Informatik 3) Universität Erlangen-Nürnberg Martensstr. 3, 91058 Erlangen 29.09.2004 Klausur zu "Organisation

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivübung zu Algorithmen und Datenstrukturen Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

Sprungbefehle und Kontroll-Strukturen

Sprungbefehle und Kontroll-Strukturen Sprungbefehle und Kontroll-Strukturen Statusregister und Flags Sprungbefehle Kontrollstrukturen Das Status-Register 1 Register-Satz des ATmega128 Universal-Register (8Bit) R0..R15 16 Bit Program counter

Mehr

Übung 1 - Betriebssysteme I

Übung 1 - Betriebssysteme I Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits

Mehr

2. Aufgabenblatt Musterlösung

2. Aufgabenblatt Musterlösung 2. Aufgabenblatt Musterlösung Technische Informatik II Sommersemester 2011 Problem 2: Assembler Syntax Register eines 32-bit Intel-Prozessors: 16 bits 8 bits 8 bits general purpose registers EAX Accumulator

Mehr

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes Grundlagen der Informatik III Wintersemester 2010/2011 3. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la

Mehr

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 20.03.09 4-1 Heutige große Übung Ankündigung

Mehr

Assembler Kontrollstrukturen

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

Mehr

Kodieren von Anweisungen im Binärformat für Maschinen quasi natürlich, zumindest effizient. Für Menschen hingegen ist Binärformat schwierig

Kodieren von Anweisungen im Binärformat für Maschinen quasi natürlich, zumindest effizient. Für Menschen hingegen ist Binärformat schwierig 2.1 Einleitung Kodieren von Anweisungen im Binärformat für Maschinen quasi natürlich, zumindest effizient Hinsichtlich Zuverlässigkeit (digital vorteilhafter als analog) Für Menschen hingegen ist Binärformat

Mehr

ERA-Zentralübung Maschinenprogrammierung

ERA-Zentralübung Maschinenprogrammierung ERA-Zentralübung Maschinenprogrammierung M. Meyer LRR TU München 27.10.2017 Arithmetik mit 80386 Inhalt Rechenmodell Register Befehle Beispiele 80386-Rechenmodell Typisches Zwei-Address-Format Ziel :=

Mehr

ERA-Zentralübung Maschinenprogrammierung

ERA-Zentralübung Maschinenprogrammierung ERA-Zentralübung Maschinenprogrammierung M. Meyer LRR TU München 17.11.2017 Inhalt Aufgabe 3.1 Aufgabe 3.2 Aufgabe 3.3 Logische Operationen Schiebebefehle Weitere Befehle Registerübersicht Aufgabe 3.1

Mehr

Einführung in die Systemprogrammierung

Einführung in die Systemprogrammierung Einführung in die Systemprogrammierung Die Programmiersprache C Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 14. Mai 2015 Hallo, Welt! main() { printf("hallo, Welt!\n"); } main:

Mehr

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen. Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten

Mehr

4.4 Imperative Algorithmen Prozeduren

4.4 Imperative Algorithmen Prozeduren 4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011 16. Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Informatik III Wintersemester 2010/2011 16. Vorlesung Dr.-Ing. Wolfgang Heenes Grundlagen der Informatik III Wintersemester 2010/2011 16. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Martin Schulz Einführung in die Rechnerarchitektur Wintersemester 2017/2018 Lösungsvorschlag

Mehr

7 Ein einfacher CISC-Prozessor

7 Ein einfacher CISC-Prozessor 7 Ein einfacher CISC-Prozessor In diesem Kapitel wird ein einfacher Prozessor vorgestellt. Die Architektur, die wir implementieren, wurde von R. Bryant und D. O Hallaron entworfen und verwendet eine Untermenge

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, Patrik Schmittat 5. Aufgabenblatt mit Lösungsvorschlag 29.11.2010 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen

Mehr

Mikroarchitekturen. Peter Marwedel Informatik 12 TU Dortmund 2013/07/16. technische universität dortmund. fakultät für informatik informatik 12

Mikroarchitekturen. Peter Marwedel Informatik 12 TU Dortmund 2013/07/16. technische universität dortmund. fakultät für informatik informatik 12 12 Mikroarchitekturen Peter Marwedel Informatik 12 TU Dortmund 2013/07/16 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken ist im Allgemeinen nicht erlaubt. Gegenüberstellung

Mehr

Assembler Integer-Arithmetik

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

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Einführung in (Intel) 80x86 Assembler. Einführung in (Intel) 80x86 Assembler Wintersemester 2009/10 1 / 31

Einführung in (Intel) 80x86 Assembler. Einführung in (Intel) 80x86 Assembler Wintersemester 2009/10 1 / 31 Einführung in (Intel) 80x86 Assembler Einführung in (Intel) 80x86 Assembler Wintersemester 2009/10 1 / 31 Einführung Die folgenden Folien geben einen Überblick über die weit verbreitet x86 Architektur

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, Patrik Schmittat 4. Aufgabenblatt mit Lösungsvorschlag 22.11.2010 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Just-In-Time-Compiler (2) 1/13 2011-09-12 Just-In-Time-Compiler

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp ZAIK Universität zu Köln WS 07/08 1 / 6 Datentypen Arten von Datentypen

Mehr

RO-Tutorien 17 und 18

RO-Tutorien 17 und 18 RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 2 AM 10.05.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Just-In-Time-Compiler

Mehr

8. Intel IA-32 Prozessoren: Befehlsübersicht

8. Intel IA-32 Prozessoren: Befehlsübersicht 8. Intel IA-32 Prozessoren: Befehlsübersicht Ganzzahlarithmetik Kontrollstrukturen Bitmanipulation Schieben und Rotieren 20.10.2007 Meisel 1 8.1 Ganzzahl-Arithmetik 8.1.1 Übersicht add adc sub sbb imul

Mehr

Assembler Unterprogramme

Assembler Unterprogramme Assembler Unterprogramme Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Unterprogramme 1/43 2008-06-03 Unterprogramme

Mehr

Hinweise C-Programmierung

Hinweise C-Programmierung Hinweise C-Programmierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2016/2017 V. Sieh Hinweise C-Programmierung

Mehr

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Hinweise 80x86-Architektur

Hinweise 80x86-Architektur Hinweise 80x86-Architektur Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Hinweise 80x86-Architektur

Mehr

Disclaimer: Das sind Lösungsvorschläge, keine Musterlösungen.

Disclaimer: Das sind Lösungsvorschläge, keine Musterlösungen. Autor: Sebastian Sossalla Disclaimer: Das sind Lösungsvorschläge, keine Musterlösungen. Aufgabe 1: Allgemeines (22 Punkte) 1. Welche der nachfolgenden Informationen werden i.a. im Condition- Code-Register

Mehr

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Musterlösung zu Übung 3 Datum : 25.-26. Oktober 2018 Aufgabe 1: Wurzelverfahren nach Heron Das

Mehr

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen

Mehr

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff. Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit

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

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

Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 9.1: Dinatos-Algorithmus-Analyse Die folgenden Verilog-Zeilen

Mehr

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

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 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 2 SS 2016

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Musterlösung 1 Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den

Mehr

Einführung in (Intel) 80x86 Assembler. Einführung in (Intel) 80x86 Assembler Wintersemester 2008/09 1 / 26

Einführung in (Intel) 80x86 Assembler. Einführung in (Intel) 80x86 Assembler Wintersemester 2008/09 1 / 26 Einführung in (Intel) 80x86 Assembler Einführung in (Intel) 80x86 Assembler Wintersemester 2008/09 1 / 26 1 Geschichte 2 Programmiermodell 3 Befehlssatz 4 Konventionen 5 Beispiele 6 SSE 7 Literatur Einführung

Mehr

Rechnerstrukturen Wintersemester 2002/03. Maschinensprache Opcode, Operanden, Adressierung Für Menschen schwer verdauliche Folgen von 0 und 1

Rechnerstrukturen Wintersemester 2002/03. Maschinensprache Opcode, Operanden, Adressierung Für Menschen schwer verdauliche Folgen von 0 und 1 (c) Peter Sturm, Universität Trier 1 Rechnerstrukturen 8. Assembler Für Hartgesottene Maschinensprache Opcode, Operanden, Adressierung Für Menschen schwer verdauliche Folgen von 0 und 1 Assembler Symbolische

Mehr

U23 - Shellcode. Twix Chaos Computer Club Cologne. Motivation Einstieg Der erste Shellcode Nullbytes, NOP Slides

U23 - Shellcode. Twix Chaos Computer Club Cologne.  Motivation Einstieg Der erste Shellcode Nullbytes, NOP Slides Twix e.v. http://koeln.ccc.de 2016-11-28 Überblick 1 Motivation Was ist Shellcode? Beispiel 2 Einstieg Erzeugen, Testen von Shellcode 3 Der erste Shellcode Strings in Shellcode 4 Nullbytes, NOP Slides

Mehr

III.1 Prinzipien der funktionalen Programmierung - 1 -

III.1 Prinzipien der funktionalen Programmierung - 1 - 1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung

Mehr

Programmierkonventionen - 1 -

Programmierkonventionen - 1 - Die wichtigsten Bestandteile der Programmierkonventionen für Java werden hier erläutert. Dies sind: Schreibweise von Bezeichnern Einrückkonventionen Kommentare Programmierkonventionen - 1 - Einleitung

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 6 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Legen Sie den Ausweis (mit Lichtbild!) griffbereit auf den Platz! Dieses Aufgabenheft umfasst 24 Seiten. Überprüfen Sie die Vollständigkeit!

Legen Sie den Ausweis (mit Lichtbild!) griffbereit auf den Platz! Dieses Aufgabenheft umfasst 24 Seiten. Überprüfen Sie die Vollständigkeit! Department Informatik Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstraße 3, 91058 Erlangen 25.09.2013 Klausur zu Grundlagen der Rechnerarchitektur

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme Inhaltsverzeichnis 7. Computerarchitektur........................182 Grundlagen.............................182

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Kontrollstrukturen -- Schleifen und Wiederholungen

Kontrollstrukturen -- Schleifen und Wiederholungen Kontrollstrukturen -- Schleifen und Wiederholungen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Rechnernetze und -Organisation. Teil B 2012 Tomislav Nad Karl C. Posch

Rechnernetze und -Organisation. Teil B 2012 Tomislav Nad Karl C. Posch Rechnernetze und -Organisation Teil B 2012 Tomislav Nad Karl C. Posch www.iaik.tugraz.at/content/teaching/bachelor_courses/rechnernetze_und_organisation/ 1 Two different assemblers GNU Assembler as : Uses

Mehr

Just-In-Time-Compiler (1)

Just-In-Time-Compiler (1) Just-In-Time-Compiler (1) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2017/2018 V. Sieh Just-In-Time-Compiler

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Informatik I (D-ITET)

Informatik I (D-ITET) //009 Informatik I (D-ITET) Übungsstunde 8, 6..009 simonmayer@student.ethz.ch ETH Zürich Besprechung/Vertiefung der Vorlesung [..009] ArrayStack Ausgezeichnet Einige haben s etwas kompliziert gemacht clear()

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Übungsblatt 1. Java Vorkurs (WS 2017)

Übungsblatt 1. Java Vorkurs (WS 2017) Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

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

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke Java 1 Markus Reschke 06.10.2014 Überblick Einführung in die Programmierung zur Vereinfachung des Einstiegs ins Studium Erstellung von ausführbaren Programmen für den Computer Denk- und Vorgehensweisen

Mehr

Praktikum Rechnerarchitektur

Praktikum Rechnerarchitektur Praktikum ERA Blatt 1 1 LEHRSTUHL FÜR RECHNERARCHITEKTUR UND PARALLELE SYSTEME Praktikum Rechnerarchitektur 22.1.21-2.1.21 Arbeitsblatt 1 Es wird zu jeder Tutorstunde ein neues Aufgabenblatt geben. Dabei

Mehr

Rechnernetze und -Organisation. Teil B (30. März 2011) 2011 Michael Hutter Karl C. Posch

Rechnernetze und -Organisation. Teil B (30. März 2011) 2011 Michael Hutter Karl C. Posch Rechnernetz R Teil B (30. März 2011) 2011 Michael Hutter Karl C. Posch www.iaik.tugraz.at/content/teaching/bachelor_courses/rechnernetze_und_organisation/ 1 Zeitplan für Teil B Mittwoch 23. März 2011 Mittwoch

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Betriebssystembau. 4. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

Betriebssystembau. 4. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund Betriebssystembau 4. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Agenda: Vertiefung

Mehr

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung B.Sc. Patrik Schmittat

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung B.Sc. Patrik Schmittat Grundlagen der Informatik III Wintersemester 2010/2011 9. Vorlesung B.Sc. Patrik Schmittat int main() { printf("hello, world!"); return 0; msg: main:.data.asciiz "Hello, world!".text.globl main la $a0,msg

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 22: Mima-X Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr