Wie kann man einen größeren Speicherbereich kopieren ?
-
Wie kann man in Dos-Assembler einen größeren Speicherbereich kopieren ? Geht das nur über ne Schleife oder gibts da extra Befehle ?
Wie würdet ihr einen 64000 Bytes großen Block kopieren ? Bin für jeden Tipp dankbar.
-
weiss nicht genau, ob beim P4 oder den neusten Instruction sets da nicht doch was gibt, aber bei den Intel-OPCodes bis Pentium gibts da nichts. maximal kann man 4Bytes via movsd kopieren...
-
Und dann würde man eine Schleife draus machen müssen, oder ?
-
genau. zB. durch das Prefix rep. (rep movs(b/w/d)
ip wird in dieser "Schleife" jedoch nicht veraendert.
-
mit ISSE kann man 128bit durch die gegend schieben und wenn man den prefetch befehl benutzt, kann man einiges an performance gewinnen.
rapso->greets();
-
@Rapso: Könntest du mir ein kleines Beispiel schreiben.