Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

Re: [asm] In Array schreiben

  Alt 1. Mär 2007, 19:54
Hi,

Ich habs mal so gemacht:

Code:
LEA eax,[ebp-$04]
MOV ecx,1
MOV edx,Result
CALL System.@DynArraySetLength
ADD esp,$04
So jetzt versuch ich das mal zu erklären soweit ich dazu in der Lage bin :X

Alles was jetzt folgt ist potentieller Schwachsinn

Code:
LEA eax,[ebp-$04]
Schreibt nen Pointer nach eax der auf den Pointer des Arrays zeigt

Code:
MOV ecx,1
Schreibt 1 nach ecx.. die Zahl steht für die Dimension des Arrays.
Hätte man ein zweidimesionales Array würde man 2 nach ecx schreiben...

Code:
MOV edx,Result
Für mich irgendwie fast das gleiche wie die erste Zeile ^^

Code:
CALL System.@DynArraySetLength
Tjo die Funktion aufrufen

Code:
ADD esp,$04
Keine Ahnung... Aber ich schätze es muss bei dir $08 sein.. Mein Array war ein Integer Array.. SizeOf(Integer) = 4 und SizeOf(Int64) = 8 wenn ich mich nicht täusche und ich schätze damit hats zu tun in irgendeiner Weise...

PS: Ich schätze dann müsste die $04 in der ersten Zeile auch durch $08 ersetzt werden..

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat