Bitmanipualtionsbefehle + Operationen mit Oktett- / Wort- Folgen
11 November
Termin: 20 November (25 November)
Theorie |
Beispiele |
Aufgaben
Theoretische Zusammenfassung:
- Bitmanipulationsbefehle
- Operationen mit Oktett- / Wort- Folgen
- Sprungbefehle
Aufgaben:
-
-
Seien A und B zwei gegebene Wörter (2 Bytes grosse Variablen).
Es wird das Wort C folgenderweise erzeugt:
- Bits 0-2 von C sind gleich wie Bits 7-9 von A
- Bits 3-6 von C sind gleich wie Bits 9-12 von B
- Bits 7-15 von C haben den Wert 0
-
Sei eine Oktett-Folge gegeben. Bilden Sie eine neue Folge
von gleicher Größe: es werden alle Elemente der ersten Folge
in die zweite kopiert, die entweder mehr 1-er als 0 Bits enthalten,
oder ihr Wert im Intervall [1fh,60h] ist. Alle andere Oktette der
neuen Folge werden den Wert 0 haben.
-
Seien A und B zwei gegebene Wörter (2 Bytes grosse Variablen).
Es wird das Wort C folgenderweise erzeugt:
- Bits 0-2 und Bit 10 von C haben den Wert 0
- Bits 3-6 von C sind gleich wie Bits 5-8 von A
- Bits 7-9 von C sind gleich wie Bits 0-2 von B
- Bits 11-15 von C sind gleich wie Bits 5-9 von B
-
Seien zwei Oktett-Folgen s1 und s2 gegeben. Wenn s2 s1
enthaltet, dann wird die Anfangsposition von s1 in s2 im Variable
Erg gespeichert, sonst wird Erg den Wert FFh bekommen.
-
Die ersten drei Bits des Wortes B sollen mit den letzten drei
Bits vom Oktett A ersetzt werden.
-
Seien zwei Oktett-Folgen gegeben. Man soll eine dritte Folge
bilden, die auf jeder Position (bis zur Länge der kürzerer Folge)
immer den größeren von den zwei entsprechenden Elementen der
gegebenen Folgen enthaltet. Dann, bis zur Länge der längerer Folge
wird die neue Folge alternativ mit dem Wert 1 bzw. 0 ergänzt.
-
Sei A ein gegebenes Wort (2 Bytes grosse Variable).
Es soll das Wort B erstellt werden, als Ergebnis der Rotation
des Wortes A mit n Positionen nach Rechts (ohne Carry).
n istdie Dezimahlzahl, die den 0-3 Bits von A entspricht.
-
Sei eine Wort-Folge (Wort = 2 Bytes) gegeben. Bilden Sie
zwei neue Folgen, s1 und s2 folgenderweise:
Für jedes Wort,
- wenn die Anzahl der 1-er Bits im höcherwertigen Byte größer als
die Anzahl der 1-er Bits im niederwertigen Byte ist, dann wird s1 das
höcherwertige Byte und s2 das niederwertige Byte des
Wortes enthalten.
- wenn die Anzahl der 1-er Bits is gleich, dann wird s1 die Anzahl des
1-er Bits enthalten und s2 den Wert 0.
- sonst wird s1 das niederwertige Byte enthalten und s2 das
höcherwertige.
-
Seien A und B zwei gegebene Wörter (2 Bytes grosse Variablen).
Es wird das Wort C folgenderweise erstellt:
- Bits 0-3 von C sind gleich wie Bits 8-11 von A
- Bits 4-10 von C haben den Wert 0
- Bits 11-15 von C sind gleich wie Bits 11-15 von B
-
Seien zwei Oktett-Folgen gegeben. Bilden Sie eine dritte
Folge, die für jedes Oktett der zweiten Folge wird seine Position
in der erste Folge enthalten, wenn dieses Oktett existiert, und 0
wenn nicht.
Für + Punkt:
Bei der Punkt (a)
lesen Sie die gegebene Wörter ein und zeigen Sie die eingelesene Daten und das Ergebnis
in Binärform am Bildschirm an so, dass immer 16 Zifern angezeigt sollen, und nach jeder
Gruppe von vier Bits ein ' ' Charakter ist.
Z. B.: Falls AX den Wert 3FA0h hat, es soll
0011 1111 1010 0000
angezeigt werden
Beispiele