Ich übergebe an eine in ASM geschriebene DLLFunktion eine Speicherbereichsadresse - funzt auch super - ich lasse einfach mittels API den String im Speicher anzeigen.
Nur wie kann ich innerhalb einer Schleife Char für Char (Byte für Byte) aus dem Speicher erhalten.
Könnte jemand die Proc mit einem einfachen Handgriff derart umprogrammieren das invoke TextOut nicht den String im Speicher - sondern Char für Char auf den Bildschirm schreibt?
Eigendlich will ich nur wissen wie ich den Wert eines einzelnen Bytes eines Speichers bekomme.
Code: Alles auswählen
proc __dispSrcMem //xprofansource
AsmStart disp //xprofansource
parameters %hdc,sfnt&,mem#,1 //xprofansource
.data
;data db "Hallo",0
.code
data dd 333,444,555,666 ;Hier 4 Longint's
mov edx,para3
mov ebx,para4
mov eax,0
.while eax<ebx
push eax
push ebx
mov eax,data ; falsch
lea edx,data ; falsch
mov eax,[edx+1] ;falsch
invoke TextOut,para1,0,0,eax,1 ;funzt deshalb net :(
pop ebx
pop eax
inc eax
.endw
invoke TextOut,para1,10,50,para3,para4 ; klappt - aber in der schleife soll's ja klappen :)
AsmEnd //xprofansource
endproc //xprofansource