Zitat von
himitsu:
Delphi-Quellcode:
// abs für 'nen double
mov eax, [adresse+4]
and eax, $7fffffff
mov [adresse+4], eax
Ja, himitsu,
schneller geht's wohl kaum - aber kürzer (und m.E. eleganter, weil kein Register benötigt wird)
z.B.
and dword [a+4],$7FFFFFFF
oder
and word [a+6],$7FFF
oder
and byte [a+7],$7F
oder
btr dword [a+4],31
oder
btr word [a+6],15
wobei a jeweils für die Adresse steht
Die von Dir gezeigte Version und die die ersten 3 Alternativen sind gleich schnell, die beiden letzten brauchen ein paar (4 bei mir) CPU-Ticks mehr.