Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:techinf:assembler:adressierung:start [20.09.2021 19:24] – [Unmittelbare Adressierung] sbel | faecher:informatik:oberstufe:techinf:assembler:adressierung:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Adressierung ====== | ||
- | |||
- | Mit der Einführung des i80386 standen 32-Bit-Register zur Verfügung. Mit einem 32-Bit-Zeiger | ||
- | kann man 23^2 = 4GB Speicher adressieren. Der im Register abgelegte Wert ist also eine Speicher**adresse** im Hauptspeicher. | ||
- | |||
- | ===== Adressierungsarten ===== | ||
- | |||
- | ==== Unmittelbare Adressierung ==== | ||
- | |||
- | Bei der unmittelbaren Adressierung (immediate adressing) steht der Quelloperand unmittelbar | ||
- | im Befehl. Er wird bei Übersetzung fest in den Maschinencode eingebunden und folgt unmittelbar auf den Befehlscode. | ||
- | |||
- | Beispiele: | ||
- | < | ||
- | MOV BX,9 ; 9 wird unmittelbar ins Register bx geschrieben | ||
- | BYTE_VALUE | ||
- | ADD BYTE_VALUE, 65 ; Es wird unmittelbar der Wert 65 addiert | ||
- | MOV AX, 45H ; 45H wird unmittelbar ins Register AX geshrieben | ||
- | </ | ||
- | |||
- | ==== Registeradressierung ==== | ||
- | |||
- | Der Registeradressierung sind Quelle und Ziel interne Register des Prozessors. | ||
- | |||
- | Beispiele: | ||
- | < | ||
- | MOV EAX, EBX | ||
- | </ |