[Assemler] Bitoperationen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von DunKing, 13. Februar 2013 .

  1. 13. Februar 2013
    Bitoperationen

    Hallo Leute ich verzweifle an folgender Aufgabe:
    3b) Einfugen der drei niederwertigsten Bits von EAX in die Bits 7 bis 5 von EBX, ohne
    Veranderung von EAX/ECX/EDX und der ubrigen Bitstellen von EBX.


    3b)
    push eax
    and eax,0x7
    shl eax,5
    and ebx,0xffffff1f
    or ebx,eax
    pop eax

    Ich kann die Lösung nicht wirklich nachvollziehen, wäre nett wenn sie mir jemand Schrittweise erklärt.
    Danke
     
  2. 13. Februar 2013
    AW: Bitoperationen

    Code:
    push eax // eax auf den Stack legen um diesen wieder herstellen zu können
    and eax,0x7 // eax mit 0x7 verUNDen (0b111)
     // es bleiben die drei niederwertigsten bits übrig (rest ist 0)
    shl eax,5 // eax um 5 bit nach links verschieben
    and ebx,0xffffff1f // bit stellen 5..7 von ebx löschen (0 setzen)
    or ebx,eax // ebx mit eax verODERn
     // -> da in eax nur die bit-stellen 5..7 gesetzt sind
     // -> und bei ebx die bit-stellen 5..7 gelöscht sind
     // -> führt eine Oder-Operation dazu dass das ebx Register nur
     // -> die Bits 5..7 vom eax register übernimmt
    pop eax // eax wieder herstellen
    
    Mfg Rushh0ur
     
    1 Person gefällt das.
  3. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.