-         

Ergebnis 1 bis 5 von 5

Thema: Was bedeutet INDIREKT und MASKE?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.06.2006
    Beiträge
    473

    Was bedeutet INDIREKT und MASKE?

    Anzeige

    Hallo ,
    ich lese mich gersde duch die Seite http://www.avr-asm-tutorial.net/avr_de/index.html

    und habe zwei Fragen:
    - was ist eien Maske und
    - was ist der Unterschied zwischen direkt und indirekt?

    Danke für die Antwort
    The Man

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    15.07.2004
    Alter
    32
    Beiträge
    807
    Rein intuitiv würde ich sagen das mit maske immer eine gewisse Bit-Anordnung gemeint ist.
    Häufig ließt man von Interruptmaske oder ähnliches. Damit ist die ist die jeweilige Einstellung (Welches Bit gesetzt ist oder nicht), dabei hat zumeist jedes eine bestimmte steuerfunktion (verglichbar mit dem Jumper setzen an Laufwerken, für Master/Slave-Modus).

    Indirekt/direkt? jo in grammatik war ich schon immer schlecht....

    Scherz beiseite, gemeint ist wahrscheinlich, das direkte beschreiben und lesen von Registern. DIe Register von 0-15 lassen sich nicht mit den (direkten) Schreibbefehl LDI beschreiben.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Ich denke mit direkt/indirekt ist hier eher der direkte Zugrif mit ldi bzw. indirekt über RAM Adressen zwischen 00 und 1F gemeint, aber dafür müßte man die Frage etwas genauer stellen ...

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Indirekt/direkt bei Assembler ist damit eigentlich immer folgendes gemeint:
    DIREKT: die Speicher-adresse steht im Befehl
    LDS Register, speicheradresse
    "Lade das Byte an der speicheradresse ins register"

    INDIREKT:
    LD register, X
    "Lade das Byte, das dort steht, wo das registerpaar XL:XH grad hinzeigt, ins register"
    Indirekt, weil du erst die adresse in das registerpaar laden mußt, und DANN erst den Wert ins Zielregister

    Solche registerpaare gibts 3
    R26:R27 heißt dann auch X
    R28:R29 heißt dann auch Y
    R30:R31 heißt dann auch Z


    MASKE:
    Ein Wert (z.B. ein BYte) gilt dann als Maske, wenn du damit aus einem anderenWert durch AND die für dich "interessanten" Bits herausfilterst
    z.B
    ein Input-Port PINB , aber nur das Bit Nr. 3 ist auf Input geschaltet.
    also willst du auch nur dieses Bit haben.
    IN R24, PINB
    AND R24, 0b00001000 die Maske für Bit Nr 3
    jetzt steht in R24 entweder
    0b00000000 wenn am PINB.3 NULL anliegt oder
    0b00001000 wenn am PINB.3 EINS anliegt

    Alle anderen Bits sind "ausmaskiert"

    hilft das ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.06.2006
    Beiträge
    473

    Danke

    Danke an alle Schreiber,
    werde so bald als möglich das neue Wissen auf die Seite anwenden.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •