Elementare logische Operationen



Ähnliche Dokumente
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Professionelle Seminare im Bereich MS-Office

Primzahlen und RSA-Verschlüsselung

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Wir machen neue Politik für Baden-Württemberg

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

Zeichen bei Zahlen entschlüsseln

Einführung in. Logische Schaltungen

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Diese Prozesse und noch viele andere Tricks werden in der Digitalfotografie mit Hilfe von Bildbearbeitungsprogrammen, wie z. B. Gimp, bewältigt.

Prozentrechnung. Klaus : = Karin : =

Wir arbeiten mit Zufallszahlen

Grundlagen der Theoretischen Informatik, SoSe 2008

Technische Informatik - Eine Einführung

7 Rechnen mit Polynomen

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Mediator 9 - Lernprogramm

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Zwischenablage (Bilder, Texte,...)

Webalizer HOWTO. Stand:

1 topologisches Sortieren

Binärdarstellung von Fliesskommazahlen

Berechnung der Erhöhung der Durchschnittsprämien

Kreativ visualisieren

Statuten in leichter Sprache

Algorithmen zur Integer-Multiplikation

Datenaufbereitung in SPSS. Daten zusammenfügen

2 Darstellung von Zahlen und Zeichen

2) Geben Sie in der Anmeldemaske Ihren Zugangsnamen und Ihr Passwort ein

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

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

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

Stand: Adressnummern ändern Modulbeschreibung

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Wie halte ich Ordnung auf meiner Festplatte?

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Informationsblatt Induktionsbeweis

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

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Abwesenheitsnotiz im Exchange Server 2010

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

Anleitungen TYPO 3 Eingaben tätigen

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

Flash Videos einbinden

Anmerkungen zur Übergangsprüfung

AutoTexte und AutoKorrektur unter Outlook verwenden

DNotI. Fax - Abfrage. GrEStG 1 Abs. 3 Anteilsvereinigung bei Treuhandverhältnissen. I. Sachverhalt:

Sonderrundschreiben. Arbeitshilfe zu den Pflichtangaben in Immobilienanzeigen bei alten Energieausweisen

ltlasten in der Registrierdatenbank löschen

FRAGE 39. Gründe, aus denen die Rechte von Patentinhabern beschränkt werden können

6.2 Scan-Konvertierung (Scan Conversion)

Erfahrungen mit Hartz IV- Empfängern

Daten verarbeiten. Binärzahlen

Programme im Griff Was bringt Ihnen dieses Kapitel?

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit

Schnelleinstieg. Datenimport für die EXPOSÉ - Familie. Import von Adress / Objektdaten aus MS Excel. = Datenintegration aus anderen Lösungen

Veröffentlichen von Apps, Arbeitsblättern und Storys. Qlik Sense Copyright QlikTech International AB. Alle Rechte vorbehalten.

1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.

Wie Sie mit Mastern arbeiten

Binäre Gleitkommazahlen

Was meinen die Leute eigentlich mit: Grexit?

Speicher in der Cloud

Lizenzierung von SharePoint Server 2013

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

BaseCamp OS X, Zümo 590 und die unterschiedliche Punkte in einer Route:

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Umzug der abfallwirtschaftlichen Nummern /Kündigung

Rundung und Casting von Zahlen

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten

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

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Zahlen auf einen Blick

wegen unentschuldigter Fehltage in der Berufsschule oder fehlender Bereitschaft zur Eingliederung in die betriebliche Ordnung

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Gruppenrichtlinien und Softwareverteilung

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

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

Markus 13, Wie ist es, wenn die Welt aufhört? Und wenn die neue Welt von Gott anfängt.

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor!

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen!

Inventur. Bemerkung. / Inventur

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

AutoCAD Dienstprogramm zur Lizenzübertragung

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Die reellen Lösungen der kubischen Gleichung

Workflows verwalten. Tipps & Tricks

Erstellen der Barcode-Etiketten:

Bekommen durch Ansteckung. H Human Beim Menschen. Acquired I D. Schwäche des Immunsystems. Schwäche des Immunsystems.

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

Transkript:

RECHNERARCHITEKTUR 2 - ELEMENTARE LOGISCHE OPERATIONEN 1 Elementare logische Operationen Modifizieren, Testen,Vergleichen In diesem Abschnitt wollen wir zeigen, wie man mit den elementaren logischen Verknüpfungen wichtige Anwendungsaufgaben lösen kann (Abbildung 1.1). Setzen von Bits Um bestimmte Bits (in einem Register, Maschinenwort usw.) zu setzen, ist ein OR-Befehl notwendig, wobei der zweite Operand an allen zu setzenden Stellen Einsen enthält und sonst Nullen. Löschen von Bits Um bestimmte Bits (in einem Register, Maschinenwort usw.) zu löschen, ist ein AND-Befehl notwendig, wobei der zweite Operand an allen zu löschenden Stellen Nullen enthält und sonst Einsen. Wechseln von Bits Um bestimmte Bits (in einem Register, Maschinenwort usw.) in ihrem Wert zu ändern (von 0 nach 1 und umgekehrt), ist ein XOR-Befehl notwendig, wobei der zweite Operand an allen zu ändernden Stellen Einsen enthält und sonst Nullen. Entnehmen von Bits Um zusammenhängende Bitfelder oder bestimmte einzelne Bits aus einem Register, Maschinenwort usw. zu entnehmen (andere Redeweisen: ausblenden, maskieren), ist ein AND-Befehl notwendig, wobei der zweite Operand an allen ausgewählten Stellen Einsen enthält und sonst Nullen. (Dieser Operand heißt üblicherweise Maskenoperand.) Einfügen von Bits Um zusammenhängende Bitfelder oder bestimmte einzelne Bits in ein Register, Maschinenwort usw. einzufügen, ist auf das Register, Maschinenwort usw. zunächst ein AND-Befehl anzuwenden, dessen zweiter Operand an allen betreffenden Stellen Nullen enthält und sonst Einsen (Maskenoperand). Nachfolgend ist ein OR-Befehl anzuwenden, dessen zweiter Operand an den betreffenden Stellen die einzufügenden Werte enthält und sonst Nullen. Testen auf gelöschte bzw. gesetzte Bits Um zu prüfen, ob bestimmte Bits (in einem Register, Maschinenwort usw.) alle gelöscht sind oder ob wenigstens eines dieser Bits gesetzt ist, braucht man einen AND-Befehl, dessen zweiter Operand an allen betreffenden Stellen Einsen enthält und sonst Nullen. Sind alle so geprüften Bits gelöscht, ist das Zero-Flagbit gesetzt. Ist wenigstens eines der geprüften Bits gesetzt, ist das Flagbit gelöscht. Diese Funktion steht beispielsweise in der x86-architektur als TEST-Befehl zur Verfügung (das ist ein AND-Befehl, der kein Ergebnis zurückschreibt). Alles löschen Es gibt mehrere Möglichkeiten (z. B. Laden eines Direktwertes Null oder AND mit Null). Gelegentlich besonders effektiv: ein XOR mit sich selbst, z. B. <R1> : <R1> XOR <R1> (der Befehl hat keinen Direktwert und entspricht oft dem jeweils kürzesten Befehlsformat).

RECHNERARCHITEKTUR 2 - ELEMENTARE LOGISCHE OPERATIONEN 2 7 6 5 4 3 2 1 0 1 0 0 1 0 1 1 0 OR 0 0 1 0 0 0 0 0 1 0 1 1 0 1 1 0 AND 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 XOR 0 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 AND 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 OR 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 AND 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Bit 5 setzen Bit 5 löschen Bits 5 und 4 wechseln Bits 3, 2, 1 entnehmen zw. Bits 7, 6, 5, 4, 0 ausblenden Bits 7, 6, 5, 4 einfügen Bit 6 testen alles Null, also auch Bit 6 0 Abbildung 1.1 Elementare Bitoperationen anhand von Beispielen

RECHNERARCHITEKTUR 2 - ELEMENTARE LOGISCHE OPERATIONEN 3 Vergleichen Um zu prüfen, ob zwei Bitmuster einander gleich sind oder nicht, kann man einen XOR-Befehl verwenden. Bei Gleichheit ist das Zero-Flag gesetzt, bei Ungleichheit gelöscht. XOR-Befehle ohne Zurückschreiben des Ergebnisses gibt es in manchen Architekturen als "logische" Vergleichsbefehle (Compare Logical). Will man nur ausgewählte Bits miteinander vergleichen, so müssen die anderen Bits ausgeblendet werden, und zwar entweder durch OR mit Einsen oder durch AND mit Nullen (man muß nur beide Operanden auf gleiche Weise maskieren). Ausgewählte Gotchas: 1. Vergleichen. Manche als logischer Vergleich (Logical Compare) bezeichnete Befehle führen keine XOR- oder XNOR-Verknüpfungen aus, sondern nur UND-Verknüpfungen. Es sind also keine echten Vergleichsbefehle (mit Vergleichsaussage gleich/ungleich als Ergebnis). Sie testen vielmehr nur gesetzte Bits (Aussage: im 1. Operanden ist keines der im 2. Operanden gesetzten Bits gesetzt/es ist wenigstens eines der besagten Bits gesetzt). Beispiel TEST (x86/ia-32). 2. Negation (Einerkomplement) und Zweierkomplement. Beides ist nicht das gleiche. Aufpassen - die Assembler-Mnemonics sind nicht immer so selbsterklärend, wie man es naiverweise erwartet. 1. Beispiel: x86/ia-32: Zweierkomplement NEG, Negation NOT. 2. Beispiel: Atmel AVR; Zweierkomplement NEG, Negation (Einerkomplement) COM. Höherentwickelte Bitoperationen Diese Operationen betreffen im allgemeinen Fall variabel lange Bitketten (Bitstrings) im Speicher. Manche Architekturen unterstützen nur Maschinenworte in Registern. Einzelbitbefehle: C Bit testen, C Bit löschen, C Bit setzen, C Bit wechseln (0 nach 1, 1 nach 0). Wichtig: wie wird die Bitadresse angegeben? a) die einfachste Lösung: Bitadresse ist lediglich Festwert im Befehl. Typisch für Mikrocontroller. Nur für einfache E-A-Vorgänge geeignet. Weitergehenden Nutzung ggf. in Form selbstmodifizierender Programme (Programm fügt berechnete Bitadresse in den Befehl ein). Funkktioniert aber nur bei Programmausführung aus RAM. b) vielseitiger: Bitadresse ist zweiter Operand (in Register oder Speicher).

RECHNERARCHITEKTUR 2 - ELEMENTARE LOGISCHE OPERATIONEN 4 Auffinden der niedrigstwertigen Eins (First Occurrence) 1. Variante: Es wird eine Bitkette zurückgeliefert, in der nur die niedrigstwertige Eins gesetzt ist. 2. Variante: Es wird eine Binärzahl zurückgeliefert, die die Position (Bitadresse) der niedrigstwertigen Eins angibt. Auffinden der höchstwertigen Eins (Last Occurrence) 1. Variante: Es wird eine Bitkette zurückgeliefert, in der nur die höchstwertige Eins gesetzt ist. 2. Variante: Es wird eine Binärzahl zurückgeliefert, die die Position (Bitadresse) der höchstwertigen Eins angibt. Ermittlung der Anzahl der Einsen (Quersumme, Number of Occurrences, Population Count) Es wird eine Binärzahl zurückgeliefert, die die Anzahl der Einsen in der Bitkette angibt. Operationen mit variablen Bitfeldern Der höchste Grad an Flexibilität ist erreicht, wenn man nicht nur Bytes, Worte usw. verarbeiten kann, sondern wenn es möglich ist, beliebige Bitfelder zu transportieren und miteinander zu verknüpfen. Abbildung 1.2 veranschaulicht solche Bitfelder und die beiden Elementaroperationen, die wir hier als Entnehmen (EXTRACT) und Einfügen (DEPOSIT) bezeichnen wollen. Abbildung 1.2 Elementare Operationen mit variablen Bitfeldern

RECHNERARCHITEKTUR 2 - ELEMENTARE LOGISCHE OPERATIONEN 5 Welche Angaben bestimmen ein Bitfeld? Ein Bitfeld ist eindeutig bestimmt (1) durch die Bitadresse (den Index) des ersten Bits und (2) durch die Länge (Anzahl der Bits) oder - alternativ - durch den Index des letzten Bits. Entnehmen (EXTRACT) Das Bitfeld wird aus dem Operanden entnommen und rechtsbündig im Rahmen der Verarbeitungsbreite bereitgestellt. Die verbleibenden Bits werden mit Nullen belegt. Einfügen (DEPOSIT) Ein rechtsbündig bereitstehendes Bitfeld wird in den Operanden eingefügt. Die verbleibenden Bits des Operanden werden nicht verändert. Maskierte Logikoperationen Viele nützliche Operationen erfordern eine "Maskierung". Damit sollen nur bestimmte Bits bei der Verarbeitung berücksichtigt, die anderen hingegen davon ausgeschlossen werden. Diese Maskierung erfordert oft zusätzliche Befehle, z. B. ein AND mit dem Maskenoperanden, um die auszuschließenden Bitpositionen auf Null zu setzen. Es gibt Anwendungsfälle, in denen solche Operationen leistungsbestimmend sind. Deshalb hat man maskierte Verknüpfungen gelegentlich (in Mikrocontrollern) als Maschinenbefehle vorgesehen. Diese Befehle haben einen zusätzlichen (dritten) Masken-Operanden bzw. sie beziehen sich implizit auf ein Maskenregister. Verschieben und Rotieren Beim Rechtsverschieben um ein Bit gelangt Bit 1 in Bitposition 0, Bit 2 in Bitposition 1 usw. Entsprechend gelangt beim Linksverschieben um ein Bit Bit 6 in Bitposition 7, Bit 5 in Bitposition Bit 6 usw. Sinngemäß werden die Daten bewegt, wenn eine Verschiebung um n Bits auszuführen ist (so kommt beim Linksverschieben um zwei Bits Bit 5 in Bitposition 7, Bit 4 in Bitposition 6 usw.). Betrachten wir das Innere einer Datenstruktur, so bereitet es uns keine Schwierigkeiten, die Bewegung der Bits beim Verschieben zu verstehen. Was geschieht aber links und rechts, also gewissermaßen an den Rändern? - Dies ist der Punkt, in dem sich Verschiebe- und Rotationsabläufe unterscheiden (Abbildung 1.3). Beim Rotieren werden die hinausgeschobenen Bits am jeweils anderen Ende wieder zurückgeführt (Wrap Around). Rotieren ist also ein zyklisches Verschieben in den Grenzen der jeweiligen Operandenlänge. Wird ein Byte um ein Bit nach links rotiert, gelangt Bit 7 nach Bit 0, bei Rechtsrotation entsprechend Bit 0 nach Bit 7. Hingegen gehen beim eigentlichen Verschieben die hinausgeschobenen Bits verloren. Die Bitpositionen, die am anderen Ende frei werden, werden meist mit Nullen aufgefüllt. In manchen Architekturen (beispielsweise IA-32) gibt es zusätzlich Verschiebebefehle mit Erweiterung. Diese haben einen zweiten Operanden, aus dem die besagten freigewordenen Bitpositionen aufgefüllt werden. In vielen Architekturen werden bestimmte Flagbits in Verschiebe- bzw. Rotationsabläufe einbezogen (Abbildungen 1.4, 1.5). Zumeist ist das jeweils zuletzt hinausgeschobene oder umlaufende Bit in einem Flagbit direkt abfragbar. Ist das Flagbit am Rotieren beteiligt, so laufen die

RECHNERARCHITEKTUR 2 - ELEMENTARE LOGISCHE OPERATIONEN 6 herausgeschobenen Bits nicht unmittelbar am anderen Ende des Operanden wieder ein, sondern gelangen zunächst in das Flagbit und von dort aus in das eigentliche Ergebnis zurück. Arithmetisches Rechtsschieben Das ist ein Rechtsschieben mit Vorzeichenerweiterung. Das höchstwertige Bit ( Vorzeichen) bleibt erhalten und wird in die beim Schieben freiwerdenden Bitstellen übernommen. Abbildung 1.3 Verschieben und Rotieren Schieben und Arithmetik n Das Linksschieben um n Bits entspricht einem Multiplizieren mit 2, das Rechtsschieben einem n Dividieren durch 2. Achtung: Bei Zweierkomplementarithmetik funktioniert das nur, wenn mit vorzeichenlosen positiven Zahlen gerechnet wird (z. B. bei der Adreßrechnung). *) oder mit *): zum Dividieren vorzeichenloser Zahlen ist die logische Rechtsverschiebung zu verwenden (die die freiwerdenden Stellen mit Nullen auffüllt). Beim Rechnen mit negativen Zahlen C C *) kann beim Linksschieben das Vorzeichen verlorengehen (manche Maschinen haben Befehle, die das Erkennen dieses Sonderfalls unterstützen), kann es sein, daß beim Dividieren gerundet wird (SHIFT ergibt anderes Ergebnis als ganzzahlige Division). *): so auch IA-32; vgl. die folgenden Abbildungen 1.4 und 1.5

RECHNERARCHITEKTUR 2 - ELEMENTARE LOGISCHE OPERATIONEN 7 Abbildung 1.4 Verschiebeabläufe Abbildung 1.5 Rotationsabläufe

RECHNERARCHITEKTUR 2 - ELEMENTARE LOGISCHE OPERATIONEN 8 Dividieren durch Linksschieben: a) Operand vorzeichenlos oder positiv: das Herausschieben des bzw. der niedrigstwertigen Bits wirkt als Rundung in Richtung Null - wie beim richtigen Dividieren. Es ergibt sich ggf. ein niedrigerer Wert. Z. B. 7 : 2 3 Rest 1. b) Operand negativ: das Herausschieben des bzw. der niedrigstwertigen Bits wirkt als Rundung in Richtung -4. Somit kann sich - anders als beim richtigen Dividieren - auch hier ein niedrigerer ( mehr negativer) Wert ergeben. Z. B. - 7 : 2-3 Rest 1 beim Dividieren, aber - 4 beim (arithmetischen) Rechtsschieben. Wann das nicht passieren kann: beim Rechnen im Einerkomplement... Verschieben über mehr als ein Maschinenwort Die herausgeschobenen Bits müssen in das jeweils nächste Maschinenwort einlaufen. Typische Programmiertechniken: 1. bitweise schieben (Ablauf ggf. als Schleife programmieren): C Bit in das Carry-Flag (CF) herausschieben, C Bit durch Rotieren über CF einschieben. 2. um mehrere Positionen schieben: C Verschieben im jeweils letzten Maschinenwort, C Einfügen der Bits aus dem vorhergehenden Maschinenwort usw. Unterstützt die Maschine ein Verschieben mit Erweiterung (Abbildung 1.4), so lassen sich beide Abläufe vereinigen (beim Herausschieben werden die freiwerdenden Bitpositioen aus dem jeweils vorhergehenden Wort nachgefüllt, dann ist dieses Wort zu verschieben, wobei wiederum dessen freiwerdende Bitpositionen aus dem vorhergehenden nachgefüllt werden usw.). Fehlen derartige Abläufe, so muß man sie programmseitig nachbilden (z. B. über ein Hilfsregister: 1. Wort schieben, 2. Wort nach Hilfsregister. Dort die einzuschiebenden Bitpositionen ausblenden (AND-Befehl) und an das jeweils andere Ende verschieben, dann Hilfsregisterinhalt in 1. Wort einfügen (OR-Befehl) usw.). Übungsaufgaben Wir beziehen uns auf den fiktiven Prozessor P/F, Stand 1.4. Es dürfen der gesamte Registersatz sowie der Stack ausgenutzt werden. Hinweis: Stellen Sie dem eigentlichen Ablauf einige LDI-Befehle voran, die die jeweiligen Register mit passend gewählten Beispielwerten laden.

RECHNERARCHITEKTUR 2 - ELEMENTARE LOGISCHE OPERATIONEN 9 1. Erzeugen Sie einen Binärvektor im Register R1, der links Nullen und rechts Eisen enthält (Muster 000...0011..11B). Die Anzahl der Einsen finden Sie im Register R2 als Binärzahl vor. 2. Erzeugen Sie einen Binärvektor im Register R1, der links Einsen und rechts Nullen enthält (Muster 111...1100..00B). Die Anzahl der Einsen finden Sie im Register R2 als Binärzahl vor. 3. Erzeugen Sie im Register R1 ein Bitfeld, das aus Einsen besteht, die von Nullen umgeben sind (Muster 00...0011...1100...00). Parameterübergabe: R2: Länge des Bitfeldes; R3: Position der niedrigstwertigen Eins. 4. Schreiben Sie einen Ablauf, der die EXTRACT-Operation nachbildet. Parameterübergabe: R1: das ursprüngliche Maschinenwort; R2: Länge des Bitfeldes; R3: Position der niedrigstwertigen Eins des zu extrahierenden Bitfeldes. Rückgabe des extrahierten Bitfeldes in R4. Der gesamte Befehlsvorrat ist nutzbar. Programmieren Sie so, daß es schnell geht (kürzeste Ausführungszeit). 5. Das in Aufgabe 4 extrahierte Bitfeld enthalte eine ganze Binärzahl. Erweitern Sie diese Binärzahl vorzeichengerecht auf ein 32-Bit-Maschinenwort. 6. Schreiben Sie einen Ablauf, der die DEPOSIT-Operation nachbildet. Parameterübergabe: R1: das Maschinenwort, in das das Bitfeld einzusetzen ist; R2: Länge des Bitfeldes; R3: Position der niedrigstwertigen Eins des zu extrahierenden Bitfeldes; R4: das einzusetzende Bitfeld. Der gesamte Befehlsvorrat ist nutzbar. Programmieren Sie so, daß es schnell geht (kürzeste Ausführungszeit). 7. Wiederholen Sie Aufgabe 4, aber ohne Einzelbitbefehle und bei Beschränkung auf Verschieben/Rotieren um jeweils eine Bitposition (Programmierweise z. B. für Mikrocontroller, die keine Mehrbitverschiebung vorsehen). 8. Wiederholen Sie Aufgabe 6, aber ohne Einzelbitbefehle und bei Beschränkung auf Verschieben/Rotieren um jeweils eine Bitposition (Programmierweise z. B. für Mikrocontroller, die keine Mehrbitverschiebung vorsehen). 9. Bestimmen Sie die Position der niedrigstwertigen Eins in einem Maschinenwort, das in Register R1 bereitsteht. Rückgabe des Zahlenwertes in Register R2. 10. Bestimmen Sie die Anzahl der Einsen in einem Maschinenwort, das in Register R1 bereitsteht. Rückgabe des Zahlenwertes in Register R2. 11. Die Register R1 und R2 enthalten ein 64-Bit-Wort. Verschieben Sie dieses Wort nach links. Die Anzahl der Bits, um die zu verschieben ist, finden Sie in Register R4 vor. 12. Die Register R1, R2 und R3 enthalten ein 96-Bit-Wort. Verschieben Sie dieses Wort nach links. Die Anzahl der Bits, um die zu verschieben ist, finden Sie in Register R4 vor.