Was kann ein Assembler?

Größe: px
Ab Seite anzeigen:

Download "Was kann ein Assembler?"

Transkript

1 Assemblerprogrammierung Assembler und Maschinensprache Befehle und Pseudo-Befehle C-Konstrukte in Assembler übersetzt Aufrufkonventionen (ABI) Der netwide assembler nasm Binärformate Was ist ein Assembler? Ein (einfacher) Compiler. der den Code eines Assemblerprogramms in Maschinensprache umsetzt Assemblerprogramm = menschenlesbare Instruktionen Maschinenprogramm = binäre Darstellung der Instruktionen Komfortabler zu programmieren: Statt der Bitfolge kann der Programmierer schreiben: add ax, 1 Es existiert also eine (nahezu) eindeutige Abbildung von Assemblerbefehlen zu binären Maschineninstruktionen: symbolische Bezeichnung Maschinencode add ax 11 1 (dez.) Michael Engel <michael.engel@udo.edu> 1 jede CPU-Architektur hat also ihren speziellen Assembler Michael Engel <michael.engel@udo.edu> 2 Was ist ein Assembler? Achtung zusätzlich vertauscht der Assembler noch die Reihenfolge der Bytes des Parameters: add ax low byte high byte (1. Byte) (2. Byte) (3. Byte) little endian byte order (niederwertiges Byte an kleinerer Adresse) bei x86! Unter Assembler versteht man also sowohl die symbolische Darstellung der Maschinensprachebefehle wie auch das Übersetzerprogramm, das die symbolische Darstellung in die vom Prozessor verstandene Binärdarstellung umsetzt Michael Engel <michael.engel@udo.edu> 3 Was kann ein Assembler? Im Gegensatz zu echten (Hochsprachen-)Compilern kann ein Assembler nur sehr wenige komplexe Ausdrücke umsetzen. Die Sprache, die der Assembler versteht, entspricht den im Instruktionssatz der jeweiligen CPU verfügbaren Instruktionen Manche Assembler können allerdings zur Assemblier-Zeit auch einfache Berechnungen durchführen und besitzen einen simplen Präprozessor Konstrukte höherer Programmiersprachen werden vom Compiler in einfachere Instruktionen umgesetzt: keine komplexen Anweisungen keine komfortablen Schleifen meist nur goto -Äquivalente keine strukturierten Datentypen keine Unterprogramme mit Parameterübergabe Michael Engel <michael.engel@udo.edu> 4

2 Übersetzungsvorgang Der Assembler steht also als Komponente zwischen Compiler und Linker Er liest vom Compiler erzeugten Assembler- Quelltext und erzeugt daraus Objektcode-Dateien, die die zugehörigen binären Maschineninstruktionen und Daten enthalten Diese Objektdateien werden (meist) vom Linker zu einem fertigen ausführbaren Programm verbunden Beispiel Die C-Anweisung summe = a + b + c + d ist für einen Assembler zu kompliziert und muss daher in mehrere Anweisungen aufgeteilt werde Der 8x86 Assembler kann immer nur zwei Zahlen addieren und das Ergebnis in einer der beiden verwendeten "Variablen" (Akkumulatorregister) speichern. Dieses C-Programm entspricht von der Struktur her also eher einem Assemblerprogramm: summe = a summe = summe + b summe = summe + c summe = summe + d Michael Engel <michael.engel@udo.edu> 5 Michael Engel <michael.engel@udo.edu> 6 Beispiel Dieses Programm summe = a summe = summe + b summe = summe + c summe = summe + d würde in 8x86-Assembler z.b. so aussehen: mov eax, [a] add eax, [b] add eax, [c] add eax, [d] Assembler unterstützten also nur primitive Operationen Die meisten Assembler arbeiten zeilenorientiert eine Zeile entspricht einer Maschinenanweisung kein Semikolon o.ä. am Ende der Zeile notwendig Kontrollanweisungen: if Einfache if-then-else-konstrukte sind für Assembler auch schon zu komplex: if ( a == 4711 ) {... } else {... } In 8x86-Assembler sieht das wie folgt aus: cmp eax, vergleiche eax mit 4711 jne ungleich -- ungleich -> springe gleich: sonst hier weiter jmp weiter -- else-zweig auslassen ungleich: else-zweig weiter: danach geht's weiter Michael Engel <michael.engel@udo.edu> 7 Michael Engel <michael.engel@udo.edu> 8

3 Schleifen: einfache for -Schleife Simple Zählschleifen werden vom 8x86 schon besser unterstǘtzt: for (i= i <1 i++) { summe = summe + a }...in Assembler: mov ecx, 1 schleife: add eax, [a] loop schleife Der Loop-Befehl dekrementiert implizit das ecx-register und führt den Sprung nur dann aus, wenn der Inhalt von ecx anschliessend nicht ist Michael Engel <michael.engel@udo.edu> 9 Was ist ein Register? In Assembler existieren keine beliebigen Variablen. Werte als Parameter/Ergebnisse aktueller Berechnungen müssen in CPU-Registern gehalten werden Ein Register ist ein extrem schneller, sehr kleiner Zwischenspeicher innerhalb der CPU, der (beim 8x86) bis zu 32 Bits speichern kann Die eigentlichen Variablen der Hochsprache werden vom Compiler zu Speicherplätzen im Datensegment der Objektcode-Datei zugeordnet Um eine Berechnung mit Variablen durchführen zu können, muss erst der Wert aus der jew. Speicherzelle in ein Register geladen werden Nicht alle Variablen passen gleichzeitig in die wenigen Register! Es existiert also eine zeitlich sich verändernde Zuordnung Register <=> Variable Michael Engel <michael.engel@udo.edu> 1 Register im 8x86 Der 8386 besitzt folgende Register: Befehls- und Stapelzeiger IP SP Vielzweckregister AH AL BH BL CH CL DH DL SI DI BP Flag Register FLAG Segmentregister CS SS DS ES Michael Engel <michael.engel@udo.edu> 11 Code Stack Data Extra Register im 8x86 Befehls- und Stapelzeiger IP SP Vielzweckregister AH AL BH BL CH CL DH DL SI DI BP AX: Flag Accumulator Register Register arithmetisch-logische Operationen I/O FLAG kürzester Maschinencode BX: Base Address Register CX: Count Register für Segmentregister LOOP Befehl für String Operationen mit REP für Bit Shift und CSRotate Code SS Stack DX: Data Register DS Data DX:AX sind 32 Bit für MUL/DIV Portnummer für ESIN und OUTExtra SI, DI: Index Register für Array-Zugriffe (Displacement) BP: Base Pointer Jedes Vielzweckregister erfüllt seinen speziellen Zweck Michael Engel <michael.engel@udo.edu> 12

4 Speicher Meistens reichen Register alleine zur Lösung eines Problems nicht aus Zugriff auf den Hauptspeicher ist erforderlich Der Hauptspeicher ist wie ein riesiges Array aus Registern, die wahlweise 8, 16 oder 32 Bit breit sind Ein Byte ist die kleinste adressierbare Einheit Speicherzellen werden durchnumeriert => Index Die Zugriffsgeschwindigkeit auf den Hauptspeicher ist zwei Zehnerpotenzen langsamer als die Zugriffsgeschwindigkeit auf Register Um auf einen Wert im Hauptspeicher zugreifen zu können, muss der Programmierer den Index des Wertes im Speicher kennen. Dieser ist die Adresse des Wertes Der Hauptspeicher wird in Bytes von an aufsteigend indexiert Michael Engel 13 Speicher Beispiel: [SECTION.data] gruss: db 'hello, world' unglueck: dw 13 million: dd 1 [SECTION.text] mov ax, [million] Michael Engel <michael.engel@udo.edu> 14 Der Stack Variablen, die festen Speicherzellen zugeordnet sind, sind von allen Teilen des Assemblerprogramms aus zugreifbar (über die Adresse oder einen zugeordneten symbolischen Namen, ein sog. Label ) => globale Var.! Für bestimmte Zwecke werden aber nicht-globale Variable benötigt Speicherschutz zwischen / Objekten Rekursiv aufrufbare Für diesen Fall wird ein Notizzettel benötigt, der die aktuellen Werte so lange behält, wie sie benötigt werden dies ist ein dynamisch allozierter Speicherbereich auf dem sog. Stack (Stapel) Der Stack ist ein Stück Hauptspeicher, auf dem nicht mit festen, sondern nur mit relativen Adressen gearbeitet wird Michael Engel <michael.engel@udo.edu> Der Stack Werte werden mit der push-operation oben auf den Stack gelegt, die pop-operation entfernt den obersten Wert wieder vom Stack dabei ist die aktuelle Adresse, an der push/pop operieren, in einem speziellen Register, dem sog. stack pointer (Register: esp) gespeichert der Programmierer muss sich aber nicht um den konkreten Wert des stack pointers kümmern man muss sich also nur die Reihenfolge merken, in der man Werte auf den Stack gelegt hat push und pop transferieren immer 32 Bits: Michael Engel <michael.engel@udo.edu> 16

5 Adressierungsarten Die meisten Befehle des 8x86 können Operanden wahlweise aus Registern, aus dem Speicher oder direkt einer Konstante entnehmen Beim mov-befehl sind (u.a.) folgende Formen möglich, wobei der erste Operand stets das Ziel und der zweite stets die Quelle der Operation angeben: Registeradressierung der Wert eines Registers wird in ein anderes übertragen: mov ebx, edi Unmittelbare Adressierung eine Konstante wird in ein Register übertragen: mov ebx, 1 Direkte Adressierung der Wert, der an der angegebenen Speicherstelle steht, wird ins Register übertragen: mov ebx, [1] Register-indirekte Adressierung der Wert, der an der Speicherstelle steht, die durch das zweite Register bezeichnet wird, wird in das erste Register übertragen: mov ebx, [eax] Basis-Register Adressierung: Der Wert, der an der Speicherstelle steht, die sich durch die Summe des Inhalts des zweiten Registers und der Konstanten ergibt, wird in das erste Register übertragen: mov eax,[1+esi] Michael Engel <michael.engel@udo.edu> 17 Aus den höheren Programmiersprachen ist das Konzept der Funktion oder Prozedur bekannt Der Vorteil dieses Konzeptes gegenüber einem goto besteht darin, daß die Prozedur von jeder beliebigen Stelle im Programm aufgerufen werden kann und das Programm anschließend an genau der Stelle fortgesetzt wird, die nach dem Prozeduraufruf folgt Die Prozedur selbst muß nicht wissen, von wo sie aufgerufen wurde und wo es hinterher weiter geht. Das geschieht irgendwie automatisch Nicht nur die Daten des Programms, sondern auch das Programm selbst liegt im Hauptspeicher und somit gehört zu jeder Maschinencodeanweisung eine eigene Adresse Damit der Prozessor ein Programm ausführt, muß sein Befehlszeiger auf den Anfang des Programms zeigen, also die Adresse der ersten Maschinencodeanweisung in das spezielle Register Befehlszeiger (instruction pointer, eip) geladen werden. Michael Engel <michael.engel@udo.edu> 18 Der Prozessor wird dann den auf diese Weise bezeichneten Befehl ausführen und im Normalfall anschließend den Inhalt des Befehlszeigers um die Länge des Befehls im Speicher erhöhen, so daß er auf die nächste Maschinenanweisung zeigt Bei einem Sprungbefehl wird der Befehlszeiger nicht um die Länge des Befehls, sondern entweder auf die angegebene Zieladresse umgesetzt (absoluter Sprung) oder um die angegebene relative Zieladresse erhöht oder erniedrigt Um nun eine Funktion aufzurufen, wird zunächst einmal wie beim Sprungbefehl verfahren, nur dass der alte Wert des Befehlszeigers (+ Länge des Befehls) zuvor auf den Stack geschrieben wird. Am Ende der Funktion genügt dann ein Sprung an die auf dem Stack gespeicherte Adresse, um zu dem aufrufenden Programm zurückzukehren. Beim 8x86 erfolgt das Speichern der Rücksprungadresse auf dem Stack implizit mit Hilfe des call Befehls. Genauso führt der ret Befehl auch implizit einen Sprung an die auf dem Stack liegende Adresse durch: Hauptprogramm ---- main:... call f1 xy: Funktion f1 f1:... ret Michael Engel <michael.engel@udo.edu> 19 Michael Engel <michael.engel@udo.edu> 2

6 Wenn die Funktion Parameter erhalten soll, werden diese üblicherweise ebenfalls auf den Stack geschrieben, natürlich vor dem call Befehl. Hinterher müssen sie natürlich wieder entfernt werden, entweder mit pop, oder durch direktes Umsetzen des Stackpointers: push eax zweiter Parameter für f1 push ebx erster Parameter für f1 call f1 add esp, 8 Parameter vom Stack entfernen Michael Engel <michael.engel@udo.edu> 21 Michael Engel <michael.engel@udo.edu> 22 Um innerhalb der Funktion auf die Parameter zugreifen zu können, wird üblicherweise der Basepointer ebp zu Hilfe genommen. Wenn er gleich zu Anfang der Funktion gesichert und dann mit dem Wert des Stackpointers belegt wird, kann der erste Parameter immer über [ebp+8] und der zweite Parameter über [ebp+12] erreicht werden, unabhängig davon, wieviele push und pop Operationen seit Beginn der Funktion verwendet wurden. f1: push ebp mov ebp,esp... mov ebx,[ebp+8] 1. Parameter in ebx laden mov eax,[ebp+12] 2. Parameter in eax laden... pop ebp ret Michael Engel <michael.engel@udo.edu> 23 Michael Engel <michael.engel@udo.edu> 24

7 Flüchtige und nicht-flüchtige Register Flüchtige und nicht-flüchtige Register Damit von verschiedenen Stellen des Assemblerprogramms heraus aufgerufen werden können, ist es wichtig festzulegen welche Registerinhalte von der Funktion verändert werden dürfen und welche bei Verlassen der Funktion noch (oder wieder) den alten Wert besitzen müssen Am sichersten ist es natürlich, grundsätzlich alle Register, die die Funktion zur Erfüllung ihrer Aufgabe benötigt, zu Beginn der Funktion auf dem Stack zu speichern und unmittelbar vor Verlassen der Funktion wieder zu laden Michael Engel 25 Die Assemblerprogramme, die der GNU C Compiler erzeugt, verfolgen jedoch eine etwas andere Strategie: Sie gehen davon aus, dass viele Register nur kurzfristig verwendet werden, zum Beispiel als Zählvariable von kleinen Schleifen oder um die Parameter für eine Funktion auf den Stack zu schreiben Hier wäre es reine Verschwendung, die ohnehin längst veralteten Werte zu Beginn einer Funktion mühsam zu sichern und am Ende wiederherzustellen Da man einem Register nicht ansieht, ob sein Inhalt wertvoll ist oder nicht, haben die Entwickler des GNU C Compilers einfach festgelegt, daß die Register eax, ecx und edx grundsätzlich als flüchtige Register zu betrachten sind, deren Inhalt einfach überschrieben werden darf Das Register eax hat dabei noch eine besondere Rolle: Es liefert den Rückgabewert der Funktion (soweit erforderlich) Die Werte der übrigen Register müssen dagegen gerettet werden, bevor sie von einer Funktion überschrieben werden dürfen. Sie werden deshalb nicht-flüchtige Register genannt. Michael Engel <michael.engel@udo.edu> 26 Der netwide Assembler nasm nasm: Aufruf Es existieren eine Vielzahl von Assemblern für den 8x86 Die meisten sind allerdings eher dafür gedacht, nur den Output eines Compilers in Objektcode zu übersetzen => unkomfortable Syntax, schlechte Fehlerbehandlung Diese Vielfalt führt zu unterschiedlichen Schreibweisen für Maschinenbefehle Reihenfolge Ziel Quelle oder andersherum Namen der Register (eax oder %eax) Syntax für Adressierungsarten Es gibt zwei Standards Der Aufruf von nasm hat das Format: nasm -f <format> <filename> [-o <output>] nasm -f elf myfile.asm assembliert myfile.asm zu einer ELF Objectdatei myfile.o nasm -f bin myfile.asm -o myfile.com assembliert myfile.asm zu einer rohen Binärdatei myfile.com nasm -f elf myfile.asm -l myfile.lst assembliert myfile.asm und erzeugt ein listing file, das auch die generierten Maschineninstruktionen und zugehörigen Adressen (in Hexadezimal) ausgibt intel -Standard, wird (u.a.) von nasm unterstützt AT&T -Standard, wird von gas (GNU Assembler) unterstützt GCC erzeugt AT&T-Aseembler für gas OOStuBS verwendet aber nasm und damit die (lesbarere) intel- Notation für Befehle und Parameter Michael Engel <michael.engel@udo.edu> 27 Michael Engel <michael.engel@udo.edu> 28

8 nasm: Listing File 1 FILE "while.c" 2 SECTION.text 3 GLOBAL f 4 GLOBAL f:function 5 f: 6 55 push ebp E5 mov ebp,esp EC1 sub esp, E93 jmp L2 1 L3: 11 E D165FC sal dword [ebp-4],1 12 L2: D8 cmp dword [ebp+8], F9FC setg al 1B 816D81 sub dword [ebp+8], C test al,al E8 jne L B45FC mov eax, [ebp-4] C9 leave 2 2A C3 ret Michael Engel <michael.engel@udo.edu> 29 nasm: Instruktionssyntax Eine Zeile in nasm-assemblerquelltext: label: instruction operands comment De meisten der Felder der Zeile sind optional Jede Kombination von Label, Instruktion und Kommentar ist erlaubt, das Vorhandensein des Operanden ist abhängig von der jew. Instruktion Zeilen können mit '\' am Ende fortgesetzt werden Michael Engel <michael.engel@udo.edu> 3 nasm: Pseudo-Instruktionen nasm: Pseudo-Instruktionen Pseudo-Instruktionen dienen dazu, in Assembler Daten (Speicherbereiche) zu deklarieren und optional mit einem Namen (label) zu versehen Initialisierte Daten werden zur Assemblier-Zeit mit den angegebenen Werten vorbelegt, Datentypen sind Byte (db), 16-Bit-Wort (dw), 32-Bit- Double wort (dd) und 64-Bit Quad wort (dq): db x55 just the byte x55 db x55,x56,x57 three bytes in succession db 'a',x55 character constants are OK db 'hello',13,1,'$' so are string constants dw x1234 x34 x12 dw 'a' x61 x (it's just a number) dw 'ab' x61 x62 (character constant) dw 'abc' x61 x62 x63 x (string) dd x x78 x56 x34 x12 dd e2 floating-point constant dq x abcdef eight byte constant dq e2 double-precision float dt e2 extended-precision float Uninitialisierte Daten reservieren nur einen Speicherbereich, ohne einen Inhalt vorzugeben. Auch hier können wieder Byte, Wort, Doppelwort und Quadwort als Basisgrößen verwendet werden: buffer: resb 64 reserve 64 bytes wordvar: resw 1 reserve a word realarray resq 1 array of ten reals Externe Binärdateien können auch eingefügt werden: incbin "file.dat" incbin "file.dat",124 incbin "file.dat",124,512 include the whole file skip the first 124 bytes skip the first 124, and actually include at most 512 Michael Engel <michael.engel@udo.edu> 31 Michael Engel <michael.engel@udo.edu> 32

9 nasm: Pseudo-Instruktionen Assemblercode in OOStuBS nasm erlaubt auch die Definition von Konstanten: equ definiert ein Symbol mit einem angegebenen konstanten Wert. Der Name der Konstanten ist gleich dem Label der Zeile (diese muss also ein Label enthalten) Die Zuordnung ist absolut und kann nicht nachträglich geändert werden message db 'hello, world' msglen equ $-message Hier wird eine Konstante msglen mit dem Wert 12 definiert. Das Zeichen $ in einem Ausdruck steht dabei für die aktuelle Adresse, die dem Label zugeordnet ist. Startup Code: boot/bootsect.asm und boot/startup.asm Bootsektor ein Block (512 Bytes), die in den ersten Sektor der Diskette geschrieben werden Real Mode Code 16 Bit Lädt Startup-Code und das eigentliche OOStuBS von Diskette......und springt zum Anfang von startup.asm Startup-Code wird vom Bootsektor geladen bereitet System für die Ausführung von C++-Code vor initialisiert Segmentregister schaltet Interrupts ab setzt IDT und GDT aktiviert die Adressleitung A2 schaltet in den protected mode um und springt schließlich ins Hauptprogramm zu main Michael Engel <michael.engel@udo.edu> 33 Michael Engel <michael.engel@udo.edu> 34 Beispiel: Umschaltg. Protected Mode Beispiel: Umschaltg. Protected Mode Bevor in den 32-Bit protected mode umgeschaltet werden kann, müssen die Segmentdeskriptoren vorbereitet werden Dies kann im Real Mode geschehen, da dieser Segmente nicht über Tabellen verwaltet Initialisierung der GDT Constants SETUPSEG equ x9 Setup-Code (max. 64K incl. Stack) SYSTEMSEG equ x1 System-Code (max. 512K) Die GDT für OOStuBS sieht so aus: [SECTION.data] Descriptor Tables gdt: dw,,, NULL Descriptor dw xffff 4Gb - (x1*x1 = 4Gb) dw x base address= dw x9a code read/exec dw xcf granularity=496, 386 (+5th nibble of limit) [SECTION.text]... set GDT lgdt [gdt_48]... Michael Engel <michael.engel@udo.edu> 35 dw xffff 4Gb - (x1*x1 = 4Gb) dw x base address= dw x92 data read/write dw xcf granularity=496, 386 (+5th nibble of limit) gdt_48: dw x18 GDT Limit=24, 3 GDT Entries dd SETUPSEG*x1+gdt Physical Address of the GDT Michael Engel <michael.engel@udo.edu> 36

10 Beispiel: Umschaltg. Protected Mode Beispiel: Umschaltg. Protected Mode Die Umschaltung in den Protected Mode erfolgt dann über das Beschreiben des Maschinen-Statusworts mit dem Wert 1 und einen speziellen Inter-Segment-Sprung. Zuvor wird noch die Befehlsqueue der CPU mit einem Sprungbefehl (jmp flush_instr) geleert. switch into protected mode mov lmsw ax,1 ax jmp flush_instr flush_instr: jump to protected mode part of the system jmp dword x8:systemseg*x1 Wohin wird an dieser Stelle aber gesprungen? Wohin wird an dieser Stelle aber gesprungen? jmp dword x8:systemseg*x1...an die Adresse SYSTEMSEG * 16 im Segment, das durch den Deskriptor x8 beschrieben ist... SYSTEMSEG equ x1 System-Code (max. 512K) also x1 * x1 = x1 aber es gibt keinen Segmentdeskriptor x8?!? Nur die oberen 5 Bit der Nummer sind die Nummer des Deskriptors: x8 = 1 Obere 5 Bit = 1, also Segmentdeskriptor 1 - Codesegment: dw xffff 4Gb - (x1*x1 = 4Gb) dw x base address= dw x9a code read/exec dw xcf granularity=496, 386 (+5th nibble of limit) Michael Engel <michael.engel@udo.edu> 37 Michael Engel <michael.engel@udo.edu> 38 Beispiel: Umschaltg. Protected Mode Beispiel: Umschaltg. Protected Mode Was steht aber nun an der Adresse x1 im Code-Segment? Das wird durch den Linker bestimmt Angaben zum Aufbau der Binärdatei von OOStuBS in Datei src/sections: SECTIONS {. = x1 /* Startadresse des Systems */....text : { *(".text") *(".text$") *(".init") *(".fini") *(".gnu.linkonce.*") } src/sections beschreibt auch die Lage der Daten:.data : { *(".data") *(".data$") *(".rodata") CTOR_LIST =. *(".ctors") *(".ctor") CTOR_LIST_END =. DTOR_LIST =. *(".dtors") *(".dtor") DTOR_LIST_END =. *(".got") *(".got.plt") *(".eh_frame") *(".eh_fram") *(".jcr") } Michael Engel <michael.engel@udo.edu> 39 Michael Engel <michael.engel@udo.edu> 4

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 4. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Aufgabe

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 4. Übung http://ess.cs.tu-dortmund.de/de/teaching/ws2012/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 4. Übung http://ess.cs.tu-dortmund.de/de/teaching/ws2015/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik

Mehr

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. 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

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 4. Übung https://ess.cs.tu-dortmund.de/de/teaching/ws2017/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de https://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik

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

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Zählen von Objekten einer bestimmten Klasse

Zä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 --

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

S7-Hantierungsbausteine für R355, R6000 und R2700

S7-Hantierungsbausteine für R355, R6000 und R2700 S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung 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/

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil IV: Programmieren an Beispielen Die

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung 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

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags.

0 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

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 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Druckerscriptsprache

Druckerscriptsprache Druckerscriptsprache Die Druckerscriptsprache stellt Ihnen ein mächtiges Werkzeug zur Erstellung und Automatisierung von komplexen Druckvorgängen zur Verfügung. Vom Folgedruck bis zum Archivfunktion ist

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

I.1 Die Parrot Assemblersprache

I.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

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Technische Informatik 2 Adressierungsarten

Technische 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

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert

Mehr

Einführung in die C++ Programmierung für Ingenieure

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

Mehr

Erstellen eigener HTML Seiten auf ewon

Erstellen eigener HTML Seiten auf ewon ewon - Technical Note Nr. 010 Version 1.2 Erstellen eigener HTML Seiten auf ewon 30.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Funktionsaufbau und Konfiguration 3.1. Unterpunkt 1 3.2. Unterpunkt

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

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

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40 CAP-News 40 CAP-News ist in unrägelmäßigen Abständen erscheinende Information zum Produktkonfigurator CAP/VARIANTS. Hier werden die neuen Befehle, Funktionen und Möglichkeiten beschrieben. In CAP-News

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Kaiser edv-konzept, 2009. Inhaltsverzeichnis

Kaiser edv-konzept, 2009. Inhaltsverzeichnis Inhaltsverzeichnis Objektarchiv 3 Programmstart 3 Objects-Hauptfenster 5 Projektgliederung 6 Archiv 8 Auftragsarchiv 9 Wordarchiv 10 Bildarchiv 11 Dateiarchiv 12 E-Mail-Archiv 13 Bestell-Archiv 14 Link-Archiv

Mehr

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Zugriff auf Daten der Wago 750-841 über eine Webseite

Zugriff auf Daten der Wago 750-841 über eine Webseite Zugriff auf Daten der Wago 750-841 über eine Webseite Inhaltsverzeichnis Einleitung... 3 Auslesen von Variablen... 4 Programm auf der SPS... 4 XML-Datei auf der SPS... 4 PHP-Script zum Auslesen der XML-Datei...

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Stammdatenanlage über den Einrichtungsassistenten

Stammdatenanlage über den Einrichtungsassistenten Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste

Mehr

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70 Thermoguard Thermoguard CIM Custom Integration Module Version 2.70 Inhalt - Einleitung... 3 - Voraussetzungen... 3 - Aktivierung und Funktion der Schnittstelle... 3 - Parameter... 4 - NLS-Einfluss... 4

Mehr

Dokumentation zur Versendung der Statistik Daten

Dokumentation zur Versendung der Statistik Daten Dokumentation zur Versendung der Statistik Daten Achtung: gem. 57a KFG 1967 (i.d.f. der 28. Novelle) ist es seit dem 01. August 2007 verpflichtend, die Statistikdaten zur statistischen Auswertung Quartalsmäßig

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

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

Viele Bilder auf der FA-Homepage

Viele Bilder auf der FA-Homepage Viele Bilder auf der FA-Homepage Standardmäßig lassen sich auf einer FA-Homepage nur 2 Bilder mit zugehörigem Text unterbringen. Sollen es mehr Bilder sein, muss man diese als von einer im Internet

Mehr

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Bereich METIS (Texte im Internet) Zählmarkenrecherche Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt. Gentlemen", bitte zur Kasse! Ravensburger Spiele Nr. 01 264 0 Autoren: Wolfgang Kramer und Jürgen P. K. Grunau Grafik: Erhard Dietl Ein Gaunerspiel für 3-6 Gentlemen" ab 10 Jahren Inhalt: 35 Tresor-Karten

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Dateiname: ecdl5_01_02_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Access

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Die Programmiersprache C

Die 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,

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Der Intel 8086 Reto Gurtner 2005

Der Intel 8086 Reto Gurtner 2005 Der Intel 8086 Reto Gurtner 2005 1 1. DIE INTERNEN REGISTER... 3 1.1 ALLGEMEINE REGISTER AX, BX, CX UND DX... 3 DAS AX-REGISTER... 4 DAS BX-REGISTER... 4 DAS CX-REGISTER... 5 DAS DX-REGISTER... 5 1.2 DIE

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

WLAN Konfiguration. Michael Bukreus 2014. Seite 1

WLAN Konfiguration. Michael Bukreus 2014. Seite 1 WLAN Konfiguration Michael Bukreus 2014 Seite 1 Inhalt Begriffe...3 Was braucht man für PureContest...4 Netzwerkkonfiguration...5 Sicherheit...6 Beispielkonfiguration...7 Screenshots Master Accesspoint...8

Mehr

1. EINLEITUNG 2. GLOBALE GRUPPEN. 2.1. Globale Gruppen anlegen

1. EINLEITUNG 2. GLOBALE GRUPPEN. 2.1. Globale Gruppen anlegen GLOBALE GRUPPEN 1. EINLEITUNG Globale Gruppen sind system- oder kategorieweite Gruppen von Nutzern in einem Moodlesystem. Wenn jede Klasse einer Schule in eine globale Gruppe aufgenommen wird, dann kann

Mehr

Stand: 28.11.2012. Adressnummern ändern Modulbeschreibung

Stand: 28.11.2012. Adressnummern ändern Modulbeschreibung Seite 1 Inhalt Allgemein...3 Installation...3 manuelle Eingabe von alten und neuen Adressnummern...4 Vorbereiten von Adressnummern-Änderungen in Tabellen...5 Seite 2 Allgemein Das INKS-Modul ermöglicht

Mehr

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 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

Mehr

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder CA Übung 30.01.2006 Hallo zusammen! Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder Adrian Schüpbach: scadrian@student.ethz.ch Christian Fischlin: cfischli@student.ethz.ch

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester 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.

Mehr

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

1. Aktionen-Palette durch Fenster /Aktionen ALT+F9 öffnen. 2. Anlegen eines neuen Set über Neues Set... (über das kleine Dreieck zu erreichen) Tipp: Aktionen (c) 2005 Thomas Stölting, Stand: 25.4. 2005 In Photoshop werden häufig immer wieder die gleichen Befehlssequenzen benötigt. Um sie nicht jedesmal manuell neu eingeben zu müssen, können diese

Mehr

Mit dem sogenannten Seriendruck können Etiketten und Briefe mit einer Adressdatei (z. B. Excel) verknüpft werden.

Mit dem sogenannten Seriendruck können Etiketten und Briefe mit einer Adressdatei (z. B. Excel) verknüpft werden. WORD 2010 Etiketten drucken Mit dem sogenannten Seriendruck können Etiketten und Briefe mit einer Adressdatei (z. B. Excel) verknüpft werden. Diese Anwendung erfolgt über die Registerkarte Sendungen 1

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon WinWerk Prozess 6a Rabatt gemäss Vorjahresverbrauch 8307 Effretikon Telefon: 052-740 11 11 Telefax: 052-740 11 71 E-Mail info@kmuratgeber.ch Internet: www.winwerk.ch Inhaltsverzeichnis 1 Ablauf der Rabattverarbeitung...

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen.

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen. Teilen binär Teil 1 - Vorzeichenlose Ganzzahlen ============ Irgendwann steht jeder Programmieren vor diesem Problem. Wie teile ich eine Binärzahl durch eine zweite? Wer in der Grundschule ein wenig aufgepasst

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

MS Excel 2010 Kompakt

MS Excel 2010 Kompakt MS Excel 00 Kompakt FILTERN Aus einem großen Datenbestand sollen nur jene Datensätze (Zeilen) angezeigt werden, die einem bestimmten Eintrag eines Feldes (Spalte) entsprechen. Excel unterstützt Filterungen

Mehr

Umzug der abfallwirtschaftlichen Nummern /Kündigung

Umzug der abfallwirtschaftlichen Nummern /Kündigung Umzug der abfallwirtschaftlichen Nummern /Kündigung Um sich bei ebegleitschein abzumelden/ zu kündigen sind folgende Schritte notwendig: Schritt 1: Sie erteilen bifa Umweltinstitut GmbH den Auftrag, Ihre

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse ) Die Versendung von Eintragungsnachrichten und sonstigen Nachrichten des Gerichts über EGVP an den Notar ist nicht möglich. Was kann der Notar tun, um den Empfang in seinem Postfach zu ermöglichen? In zahlreichen

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Eigene Dokumente, Fotos, Bilder etc. sichern

Eigene Dokumente, Fotos, Bilder etc. sichern Eigene Dokumente, Fotos, Bilder etc. sichern Solange alles am PC rund läuft, macht man sich keine Gedanken darüber, dass bei einem Computer auch mal ein technischer Defekt auftreten könnte. Aber Grundsätzliches

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

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de Inhaltsverzeichnis Inhaltsverzeichnis... 1 Grundlagen... 2 Hyperlinks innerhalb einer Datei... 2 Verweisziel definieren... 2 Einen Querverweis setzen... 3 Verschiedene Arten von Hyperlinks... 3 Einfache

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Word 2010 Schnellbausteine

Word 2010 Schnellbausteine WO.001, Version 1.0 02.04.2013 Kurzanleitung Word 2010 Schnellbausteine Word 2010 enthält eine umfangreiche Sammlung vordefinierter Bausteine, die sogenannten "Schnellbausteine". Neben den aus den früheren

Mehr

Erstellen der Barcode-Etiketten:

Erstellen der Barcode-Etiketten: Erstellen der Barcode-Etiketten: 1.) Zuerst muss die Schriftart Code-39-Logitogo installiert werden! Das ist eine einmalige Sache und muss nicht zu jeder Börse gemacht werden! Dazu speichert man zunächst

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr