Title | Era tutor 05 lsg - Ubung |
---|---|
Course | Einführung in die Rechnerarchitektur (IN0004) |
Institution | Technische Universität München |
Pages | 9 |
File Size | 257.4 KB |
File Type | |
Total Downloads | 85 |
Total Views | 168 |
Ubung...
Lehrstuhl f¨ ur Rechnertechnik und Rechnerorganisation Prof. Dr. Martin Schulz
Einf¨uhrung in die Rechnerarchitektur Wintersemester 2019/2020
Tutor¨ubung 5: Flags, bedingte Spr¨ unge & Bitoperationen
25.11.–29.11.2019
Mit L¨ osungsvorschl¨ agen
1
Flags ¨ ¨ a) (¨ahnlich Klausuraufgabe SS15) Geben Sie den Wert des Ubertrag(carry), des Uberlauf(overflow ), des Vorzeichen-(sign) und des Null-Indikators (zero flag) im Statusregister zu jedem Schritt dieser sequentiell ausgef¨ uhrten Befehlsfolge an (M¨ oglichkeiten sind ge” setzt“/ 1 und gel¨ oscht“/0: ” 1: 2: 3: 4: 5: 6:
Befehlsfolge MOV EAX, 300 SUB AL, 100 MOV AX, 300 CMP AH, 200 ADD AL, 100
Carry 0
Overflow 1
Sign 0
Zero 1
b) (¨ahnlich Klausuraufgabe WS15/16) Angabe siehe Aufgabe 1)
1: 2: 3: 4: 5:
Befehlsfolge Carry 0 MOV EAX, -120 PUSH AX CMP AL, 0 ADD AL, 140
L¨ osungsvorschlag a)
1
Overflow 0
Sign 0
Zero 1
1: 2: 3: 4: 5: 6:
Befehlsfolge MOV EAX, 300 SUB AL, 100 MOV AX, 300 CMP AH, 200 ADD AL, 100
Carry 0 0 1 1 1 0
Overflow 1 1 0 0 0 1
Sign 0 0 1 1 0 1
Zero 1 1 0 0 0 0
Befehlsfolge Carry 0 MOV EAX, -120 0 PUSH AX 0 CMP AL, 0 0 ADD AL, 140 1
Overflow 0 0 0 0 1
Sign 0 0 0 1 0
Zero 1 1 1 0 0
MOV setzt keine Flags! b)
1: 2: 3: 4: 5:
MOV/PUSH setzen keine Flags!
2 (a)
Bedingte Spr¨unge (i) Welche M¨ oglichkeiten an Befehlskombinationen gibt es, um an die Marke “marke1“ zu springen, wenn der Inhalt von AL gr¨oßer oder gleich als 5 ist? (ii) Bestimmen Sie die Bestandteile folgender einfacher while-Schleife in C/Java und ¨ubersetzen Sie sie in 80386-Assembler: i nt ebx ; ebx = 5 0 ; while ( ebx...