http://www.freepascal.org/docs-html/rtl/system/move.html
I have a working function in assembler wich copys a memory block from sorce to destination. Now I want it to do with the move function from unit system, but it does not work. procedure wd_copy( s , d : pointer ; l : longint ); begin move( s , d , l ); // does not work! Access violation errors end; procedure wd_copy( s , d : pointer ; l : longint ); begin if l > 0 then begin if d < s then begin asm pushf mov esi,s mov edi,d mov ecx,l cld // vorwärts rep movsb popf end['EAX','EBX','ECX','EDX','ESI','EDI']; end else begin asm pushf mov esi,s add esi,l dec esi mov edi,d add edi,l dec edi mov ecx,l std // rückwärts rep movsb popf end['EAX','EBX','ECX','EDX','ESI','EDI']; end; end; end; _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal