Re: filling big array of double



Hi Henri,

Untested procedure here.
--
regards
Aleksandr


procedure FillDouble(var Dest; Count: integer; Value: double); register;
asm
neg edx
jge @ret
shl edx, 3
sub eax, edx
mov ecx, [ebp+8]
mov ebp, [ebp+12]
@loop:
mov [eax+edx], ecx
mov [eax+edx+4], ebp
add edx, 8
jl @loop
@ret:
end;



.



Relevant Pages

  • Re: yane
    ... mov ecx, %%str ... mov edx, %%strlen ... xor ebx, ebx ...
    (alt.lang.asm)
  • Re: filling big array of double
    ... shl edx, 3 ... mov ebp, ... jl @loop ...
    (borland.public.delphi.language.basm)
  • Re: The Advantage of Macros
    ... loop: add.l r0,sum ... mov edx 1 ... While ecx <= N ... add edx ecx ...
    (alt.lang.asm)
  • Re: SHL Is Replaced!!
    ... > mov edx, 020h ... > mov ecx, 01h ... due to the dependency- and SIB-pipe stalls. ...
    (comp.lang.asm.x86)
  • Re: filling big array of double
    ... You can try unroll loop as below ... jge @ret ... shl edx, 3 ... mov ebp, ...
    (borland.public.delphi.language.basm)