Tässä on assemblerl optimoitu neliöjuuri rutiini pascalilla käytettäväksi kokonais luvuille. Tarpeen mukaan on kai helppoa soveltaa muissa kielissä
function sqrt(luku:word):word; assembler;
asm
mov ax,luku
xor dx,dx
mov cx,1
@again: sub ax,cx
jc @outt
inc dx
add cx,2
jmp @again
@outt: mov ax,dx
end;
begin
writeln(sqrt(65000));
end.Tällaista juuri olenkin kaivannut. En itse osaa assembly kieltä, mutta olen tarvinnut neliö juurta Pascal:lle.
En tiedä miten olen tullut toimeen ilman tätä loistavaa keksintöä. Esittelin tämän neliöjuurirutiinin myös sukulaisilleni, hekin halusivat heti kokeilla sitä.
no jopas on perkele, tosi helvetin optimoitua juosta läpi 2*n-1 sarjaa laskien koska summa menee ohi halutun luvun. toimiihan tuo, mutta selitykset olisivat olleet pop.
Aihe on jo aika vanha, joten et voi enää vastata siihen.