ERA-Zentralübung Maschinenprogrammierung

Ähnliche Dokumente
Einführung in die Programmiertechnik

Einführung in die Programmiertechnik

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

Unicode und UTF-8. Anna-Katharina Wurst. 28. April WP5 Angewandte Programmierung

ERA-Zentralübung Maschinenprogrammierung

2 Darstellung von Zahlen und Zeichen

Datentypen printf und scanf. Programmieren in C Dr. Michael Zwick

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Codierung von Text. PC in Betrieb nehmen. Der ASCII-Code (American Standard Code for Information Interchange) ASCII

Grundlagen der Datenverarbeitung

Datentypen: integer, char, string, boolean

Motivation und Überblick

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 11

Rechnerorganisation 12. Vorlesung

FAKULTÄT FÜR INFORMATIK

Rechnerorganisation 12. Vorlesung

Rechnerorganisation 12. Vorlesung

Rechnerarchitektur. angeben, welche Bestandteile ein Von-Neumann-Rechner haben muss.

ERA-Zentralübung Maschinenprogrammierung

Vom Bit zum CBC. Vom Bit zum CBC. Crashkurs - Digitale Verschlüsselungstechnik. ein Vortrag von Marius Schwarz. im Rahmen des KP 2018

SIEBTE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN. Leonie Weißweiler

Hauptspeicherinhalt. Ton. Vektorgrafik Bitmapgrafik Digit. Video. 1. Darstellung von Daten im Rechner. Abb. 1.1: Einteilung der Daten

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 15/16

2 Repräsentation von elementaren Daten

Rückblick. Addition in der b-adischen Darstellung wie gewohnt. Informatik 1 / Kapitel 2: Grundlagen

David Neugebauer, Informationsverarbeitung - Universität zu Köln, Seminar BIT I

ERA-Zentralübung Maschinenprogrammierung

Modul IP7: Rechnerstrukturen

Fundamentale Ideen der Informatik PH Weingarten Sommersemester 2014 Paul Libbrecht CC-BY

» ASCII = American Standard Code for Information Interchange.» ASCII ist Standard in Windows und Unix (und Unix-Derivaten).» ASCII ist eigentlich ein

Rechnerorganisation 12. Vorlesung

Auch 2007 wird diese Empfehlung allerdings immer noch nicht universell befolgt.

Java Einführung Objekt-Datentypen und Strings. Kapitel 8 und 9

Wie rechnet ein Rechner?

FAKULTÄT FÜR INFORMATIK

Funktionale Aspekte. Pia Lobenstein

Elementare Datentypen in C++

Strings. Daten aus Dateien einlesen und in Dateien speichern.

Rechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik

2 Darstellung von Zahlen und Zeichen

Brainfuck Interpreter für ZX81

alphanumerische Zeichen

7. Übung zur Vorlesung Grundlagen der Informatik

GI Vektoren

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Probeklausur Name: (c)

6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10

2 Darstellung von Zahlen und Zeichen

18 Softwaresicherheit

Sprachen und Automaten. Tino Hempel

Vorlesung 1 Medizininformatik. Sommersemester 2017

Grundlagen der Informatik

4. Daten. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Grundlagen der Informationstechnik

1 Funktionsaufrufe. Informatik I: Einführung in die Programmierung 4. Funktionen: Aufrufe und Definitionen. Funktionsaufrufe

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Hinweise C-Programmierung

TCP/IP ASCII Schnittstelle Programmierhandbuch

2.1 Fundamentale Typen

Grundlagen der Informatik

Document Engineering

Kodierung. Kodierung von Zeichen mit dem ASCII-Code

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

FAKULTÄT FÜR INFORMATIK

Technische Informatik II Rechnerarchitektur

Informatik I: Einführung in die Programmierung

ÜBUNG 6 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN. Leonie Weißweiler

Vorkurs Informatik WiSe 15/16

Grundlagen der Informationstechnik

Unicode und Zeichensätze

Institut für Programmierung und Reaktive Systeme 20. November Programmieren I. 4. Übungsblatt

Technische Informatik (RO)

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Datenstruktur. Nächste Woche keine Vorlesung!

Arduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach

Informationsdarstellung 2.2

JetControl 647 Versions Update von V3.53 auf V3.60

Unicode und URI Grundvoraussetzung für das Semantic Web von Harald Cichos

NEUNTE/ZEHNTE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN

T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes?

Physische Datenstrukturen

Programmiervorkurs Einführung in Java Tag 1

Grundlagen der Informatik 2. Typen

5. Darstellung und Verarbeitung von Textzeichen

Schnittstellenprotokoll Steuerung - PC

Type ME23 ProfiNet Ethernet IP Modbus TCP

Klaus Schild, XML Clearinghouse Aufbau von XML- Dokumenten

Modbus Register - Übersicht IO/5640

Transkript:

ERA-Zentralübung Maschinenprogrammierung M. Meyer LRR TU München 25.11.2016

Inhalt Aufgabe 4.1 Aufgabe 4.2 Zeichensätze

Aufgabe 4.1 Leuchtbandanzeige/Bargraph Bit Nr: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x4209 Ein gesetztes Bit führt zu leuchtendem Segment. Annahme: Ausgabe über Zugriff auf 16-Bit-Speicherzelle.

Aufgabe 4.2: Waschprogramm-Interpreter Zweck: Nachbildung eines anderen Maschinenprogrammtyps durch den 80386 Basis: Sprache der Waschmaschine (Opcodes, Parameter) Durchführung: Befehl holen (get command) Befehl dekodieren (dispatch) Befehl ausführen (z.b. zaehler befehl)... und wieder von vorne (Schleife in interpreter) alles in 80386-Maschinencode

Aufgabe 4.2: Waschprogrammbefehle Name Code Beschreibung AKTOR n 0 n Steuert Aktor n an. PAUSE n 1 n Wartet n Sekunden. ZAEHLER n 2 n Startet eine Schleife mit n Durchläufen. SCHLEIFE n 3 n Schleifenende. TEMPERATUR n 4 n Wartet, bis Temperatur n erreicht ist. WASSERSTAND n 5 n Wartet, bis Wasserstand n erreicht ist. ENDE 6 x Beendet das Waschprogramm.

Aufgabe 4.2: Waschprogramm Pos. Code Mikrobefehl 0 0 1 AKTOR 1 ; Wasser einlassen 1 5 30 WASSERSTAND 30 ; Warten, bis Wasserstand = 30 2 0 0 AKTOR 0 ; Wasser aus 3 2 10 ZAEHLER 10 ; Schleifenintialisierung 4 0 4 AKTOR 4 ; Trommel drehen 5 1 10 PAUSE 10 6 0 0 AKTOR 0 ; Trommel aus 7 1 10 PAUSE 10 8 3 4 SCHLEIFE 4 ; 4-7 10 mal wiederholen 9 6 0 ENDE Programm im Speicher: 00 01 05 1e 00 00 02 0a 00 04 01 0a 00 00 01 0a 03 04 06 00

Aufgabe 4.2: Zusammenfassung Verdeutlichung der tatsächlichen Ausführung von Befehlen Was fehlt der Waschmaschinen-CPU? komplexe Befehle (Speicherzugriffe) flexible Befehlsformate (lange Konstanten,... ) Register potenzielle Parallelität von Befehlen weitergehende Sprungbefehle ( turingmächtig) Steuerung von Datenflüssen Das kommt alles in Mikroprogrammierung...

Zeichensätze Interpretation von Bits zu Zeichen (Buchstaben, etc.) Problem: Es gibt so viele Zeichen... Lösung 1: Beschränkung auf lateinische Buchstaben (ASCII) Lösung 2: Länderspezifische Erweiterungen (z.b. ISO-Latin) Lösung 3: mehr Bits (Unicode) Lösung 4: Kodierung mit variabler Länge (UTF-8)

ASCII American Standard Code for Information Interchange 8 Bit pro Zeichen zunächst nur 0-127 benutzt (7 Bit) 0x00-0x1f: Control Codes 0x30-0x39: 0-9 0x41-0x5a: A-Z 0x61-0x7a: a-z Keine Umlaute o.ä., nur für Englisch nutzbar

ISO-Latin 8859-x Erweiterung von ASCII im Bereich 160-255 länderspezifische Erweiterung für div. europäische Sprachen Zentraleuropa (D,... ): ISO 8859-1 Oct Dec Hex Char ----------------------- 304 196 C4 Ä 326 214 D6 Ö 334 220 DC Ü 337 223 DF ß 344 228 E4 ä 366 246 F6 ö 374 252 FC ü

Unicode 16 Bit pro Zeichen, 0-255 entspricht ISO 8859-1 inkompatibel zu ASCII Reicht aber immer noch nicht...

Unicode Wikipedia: Klingon alphabets (2015-11-19)

Unicode Erweiterung: 17 Ebenen zu je 2 16 = 65536 Zeichen abzüglich interner Steuersymbole 1.111.998 Symbole

UTF-16 ältestes Kompressionsformat von Unicode 20 Bit in zwei Unicode-Zeichen ( Surrogates ) gut für nicht-lateinische Sprachen Zeichen durch 2 oder 4 Byte kodiert

UTF-8 Komprimierung von Unicode mit variabler Bytelänge ASCII-Bereich identisch (ein Byte), dann 2-4 Byte Unicode 0x00000000-0x0000007F: 0xxxxxxx Unicode 0x00000080-0x000007FF: 110xxxxx 10xxxxxx (ASCII) (11 Bit) Unicode 0x00000800-0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx Unicode 0x00010000-0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx Ä in 8859-1 -> Ä in UTF-8 0xc4 = (000) 1100.0100 -> 110(00011) 10(000100) = 0xc3 0x84

Speicherung von Zeichenketten Zeichen liegen hintereinander im Speicher Problem: Wann ist die Zeichenkette zu Ende? Lösung 1: Spezielles Zeichen am Ende C-Strings: Ende mit 0-Byte markiert Länge erst nach Durchsuchen bekannt Lösung 2: Länge am Anfang Pascal-Strings: Word/Dword am Anfang höhere Zusatzkosten

Zeichenausgabe Zeichenspeicher: Zeichen hintereinander im Speicher in Matrix oder mit Endezeichen Matrix: z.b. 80x24, typischer VGA-Zeichenmodus Endezeichen: z.b. pro Zeile, Sinclair ZX81 (Newline), Jasmin-Arraymode (0-Byte) Serielle Ausgabe/Übertragung Typischerweise I/O (z.b. RS232, Jasmin-Pipemode)