-
        

Ergebnis 1 bis 6 von 6

Thema: Umrechnung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.12.2005
    Ort
    München
    Alter
    39
    Beiträge
    27

    Umrechnung

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo Roboternetz.de,

    Ich bin auf der Suche nach der Erleuchtung!

    ich gehe von einem ATmega8 aus

    HEX
    0000:9AB8
    0001:9AC0
    0002:C000

    BINÄR
    Flash-Adresse 0: 1001101010111000
    Flash-Adresse 1: 1001101011000000
    Flash-Adresse 2: 1100000000000000

    Das ist noch klar!

    Wie kommt man jetzt auf dieses ergebnis???
    1001 1010 AAAA Abbb Befehl SBI: Setze Bit Nr. b im I/O-Register A
    1100 kkkk kkkk kkkk Befehl RJMP: Springe um +/-k Adressen
    Laut meinem Buch: AVR-Assembler-Dokumentation unter Opcodes ich habe noch eine Liste (Register Summary).
    das finde ich auch aber sehr umständlich... mir ist jetzt nicht ganz klar was bedeutet jetzt hier das AAAA Abbb und das kkkk kkkk kkkk

    wie übersetzt das jetzt Assembler???

    und dann geht es ja noch einen Schritt weiter.

    0: 1001101010111000 = SBI 0b10111,0 = SBI 0x17,0
    1: 1001101011000000 = SBI 0b11000,0 = SBI 0x18,0
    2: 1100000000000000 = RJMP 0 = RJMP 0
    Wie wird das gerechnet???

    Mit besten Grüßen

    Blackbumpkin

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Der Maschinen code ist so eine Art Hufman Zeugs, ein paar Hinweise findest du da
    http://www.roboternetz.de/wissen/ind...Maschinen-Code
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    05.12.2005
    Ort
    München
    Alter
    39
    Beiträge
    27
    Hallo,

    also wenn ich erlich bin raffe ich jetzt gar nichts mehr...
    vielleicht kann mir jemand das genauer erklären...

    Blackbumpkin

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Schaun wir mal
    1001 1010 AAAA Abbb Befehl SBI: Setze Bit Nr. b im I/O-Register A
    die ersten 8 Bit sind fix, die bedeuten einfach "SBI" (für den AVR)
    AAAAA ist die adresse des I/O Registers. das sind 5 Bit, die logo von 0000 = 0x00 = d'0' bis 11111 = 0x1F = d'31' gehen
    bbb sind 3 bit, das ist die nummer des Bits, das gefragt ist (0-7)

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

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    05.12.2005
    Ort
    München
    Alter
    39
    Beiträge
    27
    die ersten 8 Bit sind fix, die bedeuten einfach "SBI" (für den AVR)
    Ja das ist mir mitlerweile klar geworden, da gibt es ja auch welche die nur 4 haben oder.
    z.B. 1110 = RJMP

    AAAAA ist die adresse des I/O Registers. das sind 5 Bit, die logo von 0000 = 0x00 = d'0' bis 11111 = 0x1F = d'31' gehen
    in meinem fall währe das ja dann 1011 1 wenn ich jetzt von Binär in Hex umrechne komme ich auf 0x17. so weit so gut was ist jetzt das d'0' bis d'31' wo kommt das her???

    bbb sind 3 bit, das ist die nummer des Bits, das gefragt ist (0-7)
    die letzten drei 0er sind ja dann das Bit das gefragt ist. z.b. 000=0 und 101=5 das mach mir auch kein Problem.

    Vielen Dank

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    na, "d" heißt nur einfach dezimal
    0x17 ---> 1 x 16 + 7 --> dezimal 23 ( 2 x 10 + 3) , also d'23'

    Das mit dem Code ist ein wenig ungewohnt. Lies einmal da, wie ein Huffmann -Code funktioniert.
    http://de.wikipedia.org/wiki/Huffmann

    Beim AVR-Code ist es ähnlich, nur entscheidet nicht sosehr die Häufigkeit, sondern, wieviel Bits für die Befehls-argumente gebraucht werden.
    RJMP brauch viel, also muß der eigentliche Code kürzer sein,
    während z.B. BCLR ja nur 3 Bit braucht.

    Zusätzlich sind die Code und Argument Bits eigenwillig verteilt, was die Sache noch aufmischt.

    Lies wirklich erstmal in der Wiki und laß das mal versickern.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

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