Einzelnen Beitrag anzeigen

JayZ

Registriert seit: 14. Mai 2016
34 Beiträge
 
#23

AW: einzelne bytes in ein 4-byte int umwandeln

  Alt 23. Mär 2017, 19:40
Wow an eine inline assembly lösung dachte ich gar nicht. (Zum glück habe ich mir das vor ein paar wochen angefangen anzueignen )

So gehts: (shr eax, 16 ; wars )
Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var
  LInt : integer;

  LB1, LB2, LB3, LB4 : Byte;
begin
  LInt := $DEADBEEF;

  asm
    mov eax, LInt
    mov LB4, al
    mov LB3, ah
    shr eax, 16
    mov LB2, al
    mov LB1, ah
  end;

  ShowMessage(
    IntToHex(LB1, 2) +
    IntToHex(LB2, 2) +
    IntToHex(LB3, 2) +
    IntToHex(LB4, 2)
  );
end;
danke
  Mit Zitat antworten Zitat