Показать сообщение отдельно
  #9  
Старый 13.03.2009, 16:09
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Rokuell, ну да, если маска является константой.

Я сделал вот так:
Код:
function AsmXOR64(N, M : Int64) : Int64;
asm
  mov eax, dword ptr [N]
  xor eax, dword ptr [M]

  mov edx,dword ptr [N+4]
  xor edx, dword ptr [M+4]

  mov dword ptr [Result],eax
  mov dword ptr [Result+4],edx
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  N, M, Res : Int64;
begin
  N := $0000000000000000;
  M := $FF0000FFFF0000FF;
  Res := AsmXOR64(N,M);
  ShowMessage(IntToHex(Res,16));
end;
Ответить с цитированием