Thema: Delphi "Zeichen" im Integer

Einzelnen Beitrag anzeigen

Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: "Zeichen" im Integer

  Alt 19. Jan 2007, 14:57
Ich nehme mal an, auch mit Assembler wird es nicht recht viel schneller gehen. Das einzige, was man hier ausnutzen kann, ist diese Schweinerei mit cdq, bringt aber auch nicht recht viel, wenn überhaupt was.

Delphi-Quellcode:
function NumberLength(x: Integer): Integer;
asm
  push ebx
  mov ebx, 10
  cdq
  mov ecx, edx
  and ecx, 1
  xor eax, edx
  sub eax, edx
  @loop:
  and eax, eax
  jz @endloop
  mov edx, 0
  div ebx
  add ecx, 1
  jmp @loop
  @endloop:
  mov eax, ecx
  pop ebx
end;
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat