Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:techinf:assembler:logik:start [20.09.2021 19:09] – [Die AND-Instruktion] sbel | faecher:informatik:oberstufe:techinf:assembler:logik:start [20.09.2021 19:41] (aktuell) – sbel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Logik, Sprünge und Unterprogramme | + | ====== Logik, Sprünge und Sprungmarken |
Zeile 31: | Zeile 31: | ||
</ | </ | ||
- | Beispiel: | + | Die AND-Verknüpfung kann verwendet werden, um ein oder mehrere Bits zu löschen. |
+ | |||
+ | <code asm> | ||
+ | mov BL, 00111010B; Schreibe 00111010 ins Register BL | ||
+ | and BL, 0FH ; Jetzt steht in BL das Bitmuster 00001010 | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A1) === | ||
+ | |||
+ | Analysiere den folgenden Code. Welchen Inhalt hat das Register BL nach der AND Operation? Welche Ausgabe erzeugt das Programm? | ||
- | |||
<code asm> | <code asm> | ||
| | ||
Zeile 40: | Zeile 50: | ||
section .text | section .text | ||
| | ||
- | _start: | + | _start: |
- | MOV BL, 01111010B | + | MOV BL, 01111010B |
- | AND BL, 11110000B | + | AND BL, 0F0H ; |
- | MOV [tabelle], BL | + | MOV [tabelle], BL ; Was passiert hier? |
| | ||
; | ; | ||
Zeile 59: | Zeile 69: | ||
</ | </ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A2) === | ||
+ | |||
+ | An folgendem Beispiel kann man sich einige neue Möglichkeiten erschließen - das folgende Programm testet eine Zahl, ob sie gerade oder ungerade ist. | ||
+ | |||
+ | <code asm> | ||
+ | section .data | ||
+ | even_msg | ||
+ | len1 equ $ - even_msg | ||
+ | |||
+ | odd_msg db ' | ||
+ | len2 equ $ - odd_msg | ||
+ | |||
+ | section .text | ||
+ | | ||
+ | |||
+ | _start: | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | evnn: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | exitprog: | ||
+ | |||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | * Teste das Programm und überprüfe, | ||
+ | * Erweitere das Programm um eine Benutzereingabe, | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A3) === | ||
+ | |||
+ | Bearbeite die Seite https:// | ||
+ | |||
+ | Informationen zu Bedingungen und Sprungbefehlen findest du auf dieser Seite: | ||
+ | |||
+ | https:// | ||
- | An folgendem Beispiel kann man sich einige neue Möglöichkeiten erschließen: |