direkte <-> indirekte Adressierung 0000-00-00 00:00:00 // Die 4. LED auf 1 setzen (leuchten) mov P2, #00010000b // -> 1 (bezieht sich auf die 4. Stelle, also 4. LED) mov P2, #10h // -> 1 (in b umwandeln, siehe oben) setb P2.3 // -> 1 (4. Bit direkt setzen - 2.0, 2.1, 2.2, [2.3] = 4. LED) clr P2.3 // -> 0 (4. Bit löschen) // setb => Bit auf 1 setzen // clr => Bit löschen (0) // setb + clr => setzen / löschen (1 Bit) // mov => bezieht sich immer auf 1 Byte (8 Bit) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // direkte <-> indirekte Adressierung direkt: mov adresse, #daten Beispiel: mov A, #57h // schreibt Zahl 57h in den Akku mov A, 57h // schreibt Wert aus Speicheradresse 57h in den Akku // Raute (#) bedeutet Zahl // fehlende Raute bedeutet Speicheradresse indirekt: mov R0, #adresse mov @RO, #daten Beispiel: // @ bedeutet "nimm Inhalt und interpretiere Inhalt als Adresse" mov R0, #57h mov A, @R0 // A = 30 // -> sehr gut bei "Arrays" (Java) o.ä.