Assembler-Programme. Systemprogrammierung (37-023) Elementare Komponenten eines Assembler-Programmes
|
|
- Birgit Stein
- vor 8 Jahren
- Abrufe
Transkript
1 Systemprogrammierung (37-023) Assemblerprogrammierung Betriebssystemgrundlagen Maschinenmodelle Dozent: Prof. Thomas Stricker krankheitshalber vertreten durch: Felix Rauch WebSite: Begleit-/Textbuch: R. Paul: SPARC Architecture, Assembly Language Programming and C --- B. Kernigham, D. Richie: The C Programming Language Heute: Erste Schritte mit der SPARC-Assemblersprache Systemprogrammierung Stricker Assembler-Programme Die Assemblersprache ist gemäss Definition eine Metasprache, welche zwischen einer höheren Programmiersprache und dem Maschinencode vermittelt. Compiler: Programm zur Übersetzung eines Programmes aus einer höheren Programmiersprache in eine Assemblersprache. Assembler: Programm zur Übersetzung eines Assemblerprogramms in eine Maschinensprache. Beispiel: C-Programm 30 main() 31 { 32 int a = 1; 33 int b = 2; 34 int c; 35 c = a + b; 36 printf( %d\n,c); 37 } Systemprogrammierung Stricker Assembler-Code: 1.data 2 a:.word 1 3 b:.word start:.text 6 set a, %r1 7 ld [%r1], %r1 8 set b, %r2 9 ld [%r2], %r2 10 add %r1, %r2, %r3 11 end: ta 0 Maschinen-Code (Binärdatei): ^A^C^A^K \234 ^C^P\202^P`^DÂ@^E^P\204^P Ä\200\206X@^B\221D ^Oÿ^Oÿ^D^C^N^D Elementare Komponenten eines Assembler-Programmes Allgemeines: Assemblersprache ist zeilenbasiert Assemblersprache ist vom Prozessor abhängig Jedes Statement spezifiziert eine Instruktion (Anweisung) oder ein Datenelement Assembler-Programme sind i. A. schlecht lesbar Kommentare sind von grosser Bedeutung! ld [%r1], %r1! a -> r1 ld [% fp+ 96], %l0! y1 in %l0 /* auch C-style ist erlaubt */ Systemprogrammierung Stricker Systemprogrammierung Stricker
2 Organisation in Segmente Text: Programcode Data: Konstanten und vorgegebene Daten BSS: Block Storage Segment oder Block Started by Symbol: Speicherung dynamischer Daten und nicht initialisierter globaler Variablen. Text und Data-Segmente werden im Programm gespeichert, BSS ist dynamisch. Verwendung verschiedener Zahlensysteme. x:.word 23 y:.word 0x3fce Verarbeitung in der CPU jedoch immer binär. Anweisungen an den Assembler Labels <name>: Beispiel: start: Dienen zur Markierung bzw. Addressierung von Speicheradressen Dienen der Übersichtlichkeit des Programmes (erhöhen Lesbarkeit) Können Variablen darstellen (x:.word 42) Insbesondere im Kontext von Kontrollstrukturen und Subroutines Elementares Label ist die Startadresse des Programmes: _main Systemprogrammierung Stricker Systemprogrammierung Stricker Assembler Direktiven.<name>.data.word.global Geben Anweisungen an den Assembler Werden nicht von der CPU ausgeführt Sind als Pseudo-Operationen zu interpretieren Wählen aktuelles Segment aus (Text, Daten, BSS): Label in Datensegment: Variable Label in Textsegment: Sprungadresse Instruktionen <name> <operand1>,<operand2>,... add %r1, %r1, %r2 ld [%r1], %r2 Spezifizieren eine Anweisung, welche von der CPU decodiert und ausgeführt werden kann Operanden sind typischerweise Register oder Konstanten (vgl. Load/Store Architektur) Operanden können nicht direkt in Speicheradressen stehen. (vgl. fetch im v. Neumann Zyklus) Geben Variablengrösse an:.word.byte Systemprogrammierung Stricker Systemprogrammierung Stricker
3 Synthetische Instruktionen dienen der kompakteren Programmierung, werden jedoch in Folgen von elementaren Instruktionen zerlegt. clr regd or %r0, %r0, regd mov regs, regd or %r0, regs, regd dec regd sub regd, 1, regd set val, regd sethi %hi(val), regd or regd, %lo(val), regd Wobei val links eine volle 32 Bits Zahl ist und %hi() und %lo() Assemblerdirektiven sind, welche die oberen 22 respektive die unteren 13 Bits aus ihrem Argument extrahieren. set small, regd or %r0, small, regd Wobei small maximal eine 13 Bit grosse Zahl sein darf Systemprogrammierung Stricker SPARC Prozessoren: Übersicht Allgmeines: SPARC = Scalable Processor Architecture SPARC Prozessoren von der Firma Sun microsystems als Weiter-/Seitentwicklung der RISC I und II Architektur angeboten (RISC: Reduced Instruction Set Computer). Aktuell: UltraSPARC-III. Prozessor unterstützt nur wenige, einfache, dafür schnelle Befehle. Kompaktere Architektur und schnellere Programmausführung Sparc ist eine offene Architektur Vorlesung ist an V8 angelehnt (aktuell V9) Rechner in den Übungsräumen sind mit Sun UltraSPARC ausgerüstet Systemprogrammierung Stricker Vorführungen und Übungen mit einem SPARC Simulator (tkisem) 32 Bit tiefe Register (Integer Unit bis 540 Register) Insgesamt 32 sichtbare Integer Register Signed Integer Wertebereich von <= n < 2 31 Big Endian: Wortadresse = Adresse des MSB SPARC Assembler Besonderheit: Registernamen treten zweifach auf Systemprogrammierung Stricker Systemprogrammierung Stricker
4 Elementare Assembler-Direktiven.word x:.word 0x1f3 Generiert ein initialisiertes Wort im aktuellen Speichersegment. Wortgrösse bei SPARC 32 Bit.halfword x:.halfword 0x1f3 Generiert ein initialisiertes Halbwort im aktuellen Speichersegment. Grösse bei SPARC 16 Bit.byte x:.byte 0x1f Generiert ein initialisiertes Byte im aktuellen Speichersegment 8 Bit Systemprogrammierung Stricker.text.text Deklariert das folgende Segment als Text und setzt den Adresszähler auf das folgende Byte..data.data Deklariert das folgende Segment als Data und setzt den Adresszähler auf das folgende Byte..ascii x:.ascii hello Generiert einen String von ASCII Zeichen. (.asciz beendet String zusätzlich mit 0-Byte)..global.global _main Markiert ein Symbol (Label) als global sichtbar.include.include gx.h Schliesst die folgende Datei mit ein. Sinnvoll bei Header-Dateien zur Definition von Variablen und Datenstrukturen. (Vgl. C-Anweisung: #include) Systemprogrammierung Stricker Elementare Instruktionen Löschen einer Speicheradresse (synthetisch) clr [address] Kopieren von Register-Inhalten (synthetisch) mov register1, register2 Addition und Subtraktion add src_r1, src_r2, dst_r sub src_r1, src_r2, dst_r signed und unsigned Multiplikation smul src_r1, src_r2, dst_r umul src_r1, src_r2, dst_r Führt eine Multiplikation von zwei 32 Bit Zahlen durch. Die Operanden können dabei mit oder ohne Vorzeichen (Zweierkomplement) interpretiert werden. Das Ergebnis ist 64 Bit lang, die oberen 32 Bit (most significant bits) stehen im register %y (delayed write). signed und unsigned Division sdiv src_r1, src_r2, dst_r Systemprogrammierung Stricker udiv src_r1, src_r2, dst_r Führt eine Division von zwei 32 Bit Zahlen durch. Die Operanden können dabei mit oder ohne Vorzeichen (Zweierkomplement) interpretiert werden. Operand 1 ist 64 lang, die oberen 32 Bit (most significant bits) stehen im register %y. Anmerkung: Erst ab SPARC V8 implementiert Null-Operation nop store Instruktion speichert Registerinhalt in Adresse st register, [address] load Instruktion lädt Speicherinhalt in Register ld [address], register Trap always ruft das Betriebssystem auf mit einem Request, der in register %g1 codiert ist. ta Systemprogrammierung Stricker
5 Assembler-Programm 1.data 2 a2:.word 1 3 a1:.word 5 4 a0:.word 7 /* bsp6.s */ 5 x:.word 9 /* y=(x-a2)*(x-a1)/(x-a0) */ 6 y:.word text 9 start: set x, %r1 10 ld [%r1], %r1 11 set a2, %r2 12 ld [%r2], %r2 13 set a1, %r3 14 ld [%r3], %r3 15 set a0, %r4 16 ld [%r4], %r4 17 set y, %r7 18 sub %r1, %r2, %r5 19 sub %r1, %r3, %r6 20 smul %r6, %r5, %r5 21 sub %r1, %r4, %r6 22 sdiv %r5, %r6, %r5 23! / (x - a0) 24 st %r5, [%r7] 25 end: ta Systemprogrammierung Stricker Der SPARC Simulator TKISEM C++ Programm zur Simulation der SPARC Architektur (V8) Von University of New Mexico entwickelt Ist interaktiv bedienbar Erleichtert den Zugang zur Assemblersprache Gibt Einsicht in Register, Programmund Datenspeicher Eigenes Betriebssystem (ROM) Läuft unter UNIX Betriebssystem Ist mit einem Assembler und Linker ausgestattet Objektdatei erzeugen: isem-as bsp6.s -o bsp6.o Programm erzeugen: isem-ld bsp6.o -o bsp Systemprogrammierung Stricker Wesentliche Komponenten Load und Run button Step modus User und Supervisor Modi Statusregister User Text Breakpoints User Data Register Übersicht PC und NPC Y und Status-Register Set Register-Funktion Next Instruction Repräsentation im hexadezimal-format Beispiel: Multiplikation von 32 Bit Zahlen 1! 32 bit Multiplikation 2 3.data 4 a2:.word 0x0fffffff 5 a1:.word 0x0fffffff 6 7.text 8 start: set a1, %r1 9 ld [%r1], %r1 10 set a2, %r2 11 ld [%r2], %r2 12 smul %r1, %r2, %r3 13 end: ta 0 Bemerkung: %Y-Register muss bei Division getrennt initialisiert werden -> delayed write Systemprogrammierung Stricker Systemprogrammierung Stricker
Einführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrI.1 Die Parrot Assemblersprache
I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18
Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.
MehrSystemprogrammierung (37-023)
Systemprogrammierung (37-023) Assemblerprogrammierung Betriebssystemgrundlagen Maschinenmodelle Dozenten: Thomas Stricker Roman Geus WebSite: www.cs.inf.ethz.ch/37-023 Begleit-/Textbuch: R. Paul: SPARC
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrZahlensysteme: Oktal- und Hexadezimalsystem
20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrProzessor HC680 fiktiv
Prozessor HC680 fiktiv Dokumentation der Simulation Die Simulation umfasst die Struktur und Funktionalität des Prozessors und wichtiger Baugruppen des Systems. Dabei werden in einem Simulationsfenster
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
Mehr1. Stellenwerte im Dualsystem
1. a) Definitionen Stellenwertsystem Ein Zahlensystem bei dem der Wert einer Ziffer innerhalb einer Ziffernfolge von ihrer Stelle abhängt, wird Stellenwertsystem genannt. Die Stellenwerte sind also ganzzahlige
MehrVorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick
Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
MehrTechnische Informatik 2 Adressierungsarten
Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine
MehrBesprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online
Themen heute Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Besprechung des 3. Übungsblattes Aufgabe 3 Speicherplätze für Mikrocode-Anweisungen
MehrEinführung in die Programmierung
Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und
MehrKap 4. 4 Die Mikroprogrammebene eines Rechners
4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrMikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)
Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.
MehrDatentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache
Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert
MehrGrundlagen der Rechnerarchitektur. Einführung
Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler
MehrZugriff auf die Modul-EEPROMs
MAX-P- und P-Bibliotheken EEPROM-Zugriff 1 Zugriff auf die Modul-EEPROMs Jedes X-Bus-Modul verfügt über ein EEPROM, in dem modulspezifische Daten gespeichert werden. Neben einigen Bereichen, die vom Betriebssystem
Mehr5 Speicherverwaltung. bs-5.1 1
5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus
Mehr1Schnelleinstieg 14. 2Wie aus einer einfachen Textdatei. 3 Wie man eigene Programme erstellt 30. Inhaltsverzeichnis. ein Programm wird 20
Inhaltsverzeichnis Liebe Leserin, lieber Leser!...13 1Schnelleinstieg 14 Welche Vorkenntnisse benötigen Sie für dieses Buch?...16 An wen richtet sich dieses Buch?...16 Was benötigen Sie, um die Programmiersprache
MehrN Bit binäre Zahlen (signed)
N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101
MehrTechnische Informatik 1
Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache
MehrDie Mikroprogrammebene eines Rechners
Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.
MehrComputerarithmetik ( )
Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur
MehrBITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?
BITte ein BIT Vom Bit zum Binärsystem A Bit Of Magic 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen? 3. Gegeben ist der Bitstrom: 10010110 Was repräsentiert
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrHochschule München, FK 03 FA SS 2012. Ingenieurinformatik
Hochschule München, FK 03 FA SS 2012 Ingenieurinformatik Zulassung geprüft vom Aufgabensteller: Teil 1/Aufgabe 1: 30 Minuten ohne Unterlagen, Teil 2/Aufgaben 2-4: 60 Minuten, beliebige eigene Unterlagen
MehrDateiname Name(n) und Matrikelnr. des/der Bearbeiter Tel.-Nr. und E-Mail-Adresse für den Fall, dass die Diskette nicht lesbar ist.
Matrizenrechner Schreiben Sie ein CProgramm, das einen Matrizenrechner für quadratische Matrizen nachbildet. Der Matrizenrechner soll mindestens folgende Berechnungen beherrschen: Transponieren, Matrizenaddition,
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Speedup: Grundlagen der Performanz Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 30. April 2015 Eine Aufgabe aus der Praxis Gegeben ein
MehrProgrammierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.
Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrKapitel 1: Einführung
10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
MehrProgrammierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
MehrMikrocomputertechnik. Adressierungsarten
Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare
MehrVersion 0.3. Installation von MinGW und Eclipse CDT
Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.
MehrÜbungen zu C++ Kapitel 1
Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme
MehrN Bit Binärzahlen. Stelle: Binär-Digit:
N Bit Binärzahlen N Bit Binärzahlen, Beispiel 16 Bit: Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 Least Significant Bit (LSB) und Most Significant Bit (MSB)
MehrGrundlagen. Kapitel 1
Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die
MehrAlgorithmen zur Integer-Multiplikation
Algorithmen zur Integer-Multiplikation Multiplikation zweier n-bit Zahlen ist zurückführbar auf wiederholte bedingte Additionen und Schiebeoperationen (in einfachen Prozessoren wird daher oft auf Multiplizierwerke
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrInformationsdarstellung im Rechner
Informationsdarstellung im Rechner Dr. Christian Herta 15. Oktober 2005 Einführung in die Informatik - Darstellung von Information im Computer Dr. Christian Herta Darstellung von Information im Computer
MehrDer SD-Kartenslot befindet sich an der rechten Gehäuseseite unterhalb der rechteckigen hellgrauen Gummiabdeckung.
1.1 Steckplatz für eine SD-Karte zur Datensicherung 1.2 Verwenden Sie eine SD-Karte zur Datensicherung Ihrer aktuellen Programmierung und die Berichte. Sollte die Kasse einmal einen technischen Defekt
MehrProgrammierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.
1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache
MehrProgrammieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen
Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung
Mehr2.2 Rechnerorganisation: Aufbau und Funktionsweise
2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise
MehrComputer-Architektur Ein Überblick
Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27
MehrSOFiSTiK AG 2011. Installationsanleitung
SOFiSTiK AG 2011 Installationsanleitung Copyright SOFiSTiK AG, D-85764 Oberschleißheim, 1990-2011 Dieses Handbuch ist urheberrechtlich geschützt. Kein Teil darf ohne schriftliche Genehmigung der SO- FiSTiK
MehrTeil VIII Von Neumann Rechner 1
Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only
Mehr2 Einfache Rechnungen
2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,
MehrSchmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München
MANUEL KALLWEIT & FABIAN KINDERMANN Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: http://www.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html Schmitt, Günter (1996):
MehrEnterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13
UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright
Mehr2. Negative Dualzahlen darstellen
2.1 Subtraktion von Dualzahlen 2.1.1 Direkte Subtraktion (Tafelrechnung) siehe ARCOR T0IF Nachteil dieser Methode: Diese Form der Subtraktion kann nur sehr schwer von einer Elektronik (CPU) durchgeführt
MehrEinführung in die Informatik I
Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik
MehrVerbinden. der Firma
Verbinden mit dem SFTP-Server der Firma So einfach gehts: mit dem MAC (Mac OS X) mit dem PC (Windows XP) (bitte anklicken) SFTP-Server Benutzung beim Apple MacIntosh (Mac OS X) Zurück zur Auswahl SFTP-Server
MehrAllgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>
Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen
MehrDaten, Informationen, Kodierung. Binärkodierung
Binärkodierung Besondere Bedeutung der Binärkodierung in der Informatik Abbildung auf Alphabet mit zwei Zeichen, in der Regel B = {0, 1} Entspricht den zwei möglichen Schaltzuständen in der Elektronik:
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
MehrC-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)
C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) 1. Aufgabe 6 Punkte Geben Sie Definitionen an für: float var; 1 a) eine float-variable var: b) einen Zeiger pvar, der float *pvar = &var; 1 auf die
MehrFakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012
WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **
MehrBedienungsanleitung Control DC Supply
Bedienungsanleitung Control DC Supply 1. Kapitel: Installation der Software 2. Kapitel: Funktionsüberblick 3. Kapitel: Erläuterung der einzelnen Funktionen 1. Installation der Software Um die Software
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Zahlensysteme und Datendarstellung Zahlensysteme Problem: Wie stellt man (große) Zahlen einfach, platzsparend und rechnergeeignet
MehrARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen
ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen Aufgabenstellung: - das beigefügte Assembler-Programm schrittweise ausführen - sich mit der Handhabung der Entwicklungswerkzeuge
MehrUnterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur
Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert
MehrEin polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.
Zahlensysteme Definition: Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. In der Informatik spricht man auch von Stellenwertsystem,
MehrAssembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache
Assembler Programmierung Motivation Informatik II SS 2004 Teil 4: Assembler Programmierung Was ist ein Programm? Eine Reihe von Befehlen, die der Ausführung einer Aufgabe dient Dazu wird das Programm sequentiell
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
Mehr1.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
MehrPass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl
Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt
MehrVorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7
Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Seminare / Praktikum M1/C1 : Mathe 13:15-14:45, C-Kurs 15:15-16:45h M2/C2 : C-Kurs 13:15-14:45, Mathe 15:15-16:45h M*
MehrL3. Datenmanipulation
L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus
MehrGrundlagen der Rechnerarchitektur. Einführung
Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler
MehrC++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet
C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()
MehrE-PRIME TUTORIUM Die Programmiersprache BASIC
E-PRIME TUTORIUM Die Programmiersprache BASIC BASIC Beginner s All-purpose Symbolic Instruction Code symbolische Allzweck-Programmiersprache für Anfänger Design-Ziel klar: Eine einfache, für Anfänger geeignete
MehrBenutzerkonto unter Windows 2000
Jeder Benutzer, der an einem Windows 2000 PC arbeiten möchte, braucht dazu ein Benutzerkonto. Je nach Organisation des Netzwerkes, existiert dieses Benutzerkonto auf der lokalen Workstation oder im Active
Mehr2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
Mehr1. So beginnen Sie eine Kalkulation
KASSE Eine iphone Apps von a-mass Dieses kleine Programm kann zur Buchführung, als Haushalts- oder Registrierkasse verwendet werden Es können laufende Kosten genauso wie jegliche Ausgaben oder Einnahmen
MehrProgrammieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.
Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Ein Rechner Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Rechner sind überall Ihr Rechner
MehrDer Toy Rechner Ein einfacher Mikrorechner
Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte
Mehr2 Darstellung von Zahlen und Zeichen
2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f
MehrMicrocontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1
Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated
MehrQTrade GmbH Landshuter Allee 8-10 80637 München 089 381536860 info@qtrade.de Seite 1
QCentral - Ihre Tradingzentrale für den MetaTrader 5 (Wert 699 EUR) QTrade GmbH Landshuter Allee 8-10 80637 München 089 381536860 info@qtrade.de Seite 1 Installation A Haben Sie auf Ihrem PC nur einen
MehrFunktionale Programmierung mit Haskell
Funktionale Programmierung mit Haskell Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20120622 Überblick Wichtige Eigenschaften Einführungsbeispiele Listenerzeugung und Beispiel
MehrGegenüberstellung von Assembler- und C-Programmierung
Gegenüberstellung von Assembler- und C-Programmierung Assembler-Version C-Version org 8000h #pragma code=0x8000 #pragma xdata=0x2000 INPUT equ 0e081h OUTPUT equ 0e082h neu: mov dptr,#input movx a,@dptr
MehrRechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011
Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste
MehrZahlensysteme Seite -1- Zahlensysteme
Zahlensysteme Seite -- Zahlensysteme Inhaltsverzeichnis Dezimalsystem... Binärsystem... Umrechnen Bin Dez...2 Umrechnung Dez Bin...2 Rechnen im Binärsystem Addition...3 Die negativen ganzen Zahlen im Binärsystem...4
MehrInstruktionssatz-Architektur
Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrFunktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
MehrInhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Darstellung von Algorithmen Aus den Einführungsbeispielen und
Mehr0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags.
3. Assembler-Programmierung Der PIC 16F84A Microcontroller kennt 35 verschiedene Befehle. Für eine ausführliche Beschreibung aller Befehle siehe PIC16F84A-Datenblatt Kapitel 7.1. 3.1 Wichtige Flaggen im
MehrÜbersicht Programmablaufsteuerung
Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen
MehrAssembler/C Programmierung eines Mikrocontrollers
Universität Koblenz Landau Name:..... Institut für Physik Vorname:..... Hardwarepraktikum für Informatiker Matr. Nr.:..... Assembler/C Programmierung eines Mikrocontrollers I/O und Unterprogramme Versuch
MehrBefehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)
Kurzbeschreibung: Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2) Beim HSI-88-USB handelt es sich um ein Interface vom s88-rückmeldebus zum Universal Serial Bus
Mehr