Thema: Delphi Assembler und Arrays

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.079 Beiträge
 
Delphi 12 Athens
 
#5

Re: Assembler und Arrays

  Alt 20. Nov 2005, 02:30
statt
Delphi-Quellcode:
// Pointer auf Element
mov edx, [&a] // dynamisch
lea ecx, [edx + eax * 4]

lea ecx, [&a + eax * 4] // statisch
könnte man es natürlich auch selber machen (wobei hier der Pointer nicht in ecx, sondern in eax landet - es geht auch anders, aber so isses einfacher)

Delphi-Quellcode:
mov edx, [&a] // dynamisch
imul eax, eax, 4
add eax, [edx]

imul eax, eax, 4 // statisch
add eax, [&a]

// optimiert

mov edx, [&a] // dynamisch
shl eax, 2
add eax, [edx]

shl eax, 2 // statisch
add eax, [&a]
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat