Seite 1 von 1

MemoryFill()

Verfasst: 18.09.2004 12:11
von Sylvia
Weil es ->hier gerade aktuell war:

Aus meinem Nähkästchen...

Code: Alles auswählen

; Sep.2004 Sylvia, GermanForum

Procedure MemoryFillL(Wert,Elemente,*Addr)
; Füllt einen Speicherbereich mit LongWerten 

  CLD                    ; Aufsteigend
  MOV EAX, Wert          
  MOV ECX, Elemente      
  MOV EDI, *Addr         ; ab Adresse
 !REP STOSD              ; Repeat dwordTransfer         

EndProcedure

Procedure MemoryFillB(Wert,Elemente,*Addr)
; Füllt einen Speicherbereich mit ByteWerten

  CLD                    ; Aufsteigend
  MOV EAX, Wert          
  MOV ECX, Elemente      
  MOV EDI, *Addr         ; ab Adresse
 !REP STOSB              ; Repeat ByteTransfer         

EndProcedure



*Buffer=AllocateMemory(10000*4)    ; = 0- 9999 Longs
                                   ; = 0-39999 Bytes
MemoryFillL(100,10000,*Buffer)
Debug PeekL(*Buffer+9999*4)

MemoryFillB(Asc("A"),10000,*Buffer)
Debug PeekB(*Buffer+9999)

Verfasst: 18.09.2004 14:39
von Deeem2031
Oder man macht es sich ganz einfach:

Code: Alles auswählen

rtlFillMemory_(*Buffer,10000,'A')
:wink:

Verfasst: 18.09.2004 14:51
von sbehrens
Hm... und was soll diese Funktion genau bringen, also wozu braucht man sie? Es bringt doch nichts, den Speicher einfach ohne Sinn zu füllen!

mfG
Basti

Verfasst: 18.09.2004 15:57
von bobobo
ist doch geil den Rechner lahm zu machen :mrgreen:

Verfasst: 18.09.2004 17:24
von DarkDragon
bobobo hat geschrieben:ist doch geil den Rechner lahm zu machen :mrgreen:
Noch ein total Fertiger -.-' *Scherz*

Verfasst: 20.09.2004 07:58
von Lebostein
ptI hat geschrieben:Hm... und was soll diese Funktion genau bringen, also wozu braucht man sie? Es bringt doch nichts, den Speicher einfach ohne Sinn zu füllen!

mfG
Basti
- Um zum Beispiel jedes Feld eines Array auf einen Anfangswert zu setzen
- Um einen Speicherbereich zu löschen
- Um einem Sprite eine einheitliche Farbe zuzuweisen (=ClearScreen)

....

Verfasst: 20.09.2004 14:23
von Kristel
Lebostein hat geschrieben:
ptI hat geschrieben:Hm... und was soll diese Funktion genau bringen, also wozu braucht man sie? Es bringt doch nichts, den Speicher einfach ohne Sinn zu füllen!

mfG
Basti
- Um zum Beispiel jedes Feld eines Array auf einen Anfangswert zu setzen
- Um einen Speicherbereich zu löschen
- Um einem Sprite eine einheitliche Farbe zuzuweisen (=ClearScreen)

....
- Um eine gelöschte Datei mit dem gefüllten Speicherbereich zu überschreiben