When you need values of arrays like X^2; (X+1)^2;(X+2)^2... or X^2;(X+2)^2... etc.

for example 144^2;148^2;152^2

If you know X and X^2 you may calculate any X+n ^2 or X-n ^ 2 if n is reasonably small in 1 or 2 clocks.

It based on very simple eqution that (X+n)^2 = X^2+nX + n^2

So sq. of near bigger number will be (X+1)^2 = X^2+2X+1

let we have

eax = X^2

ecx = X

lea edx,[1] ;edx = (X+1)^2 1 clock

(X+2)^2 = X^2+4X+4

lea edx,[4] ;edx = (X+2)^2 1 clock

(X+3)^2 = X^2+6X+9

lea edx,

lea edx,[9] ;edx = (X+3)^2 2 clocks

(X+4)^2 = X^2+8X+16

lea edx,[16] ;edx = ^2 1clock

And so on

The same calculations might be performed if we need (X-n)^2

we need negate ecx and do the same command 'cause (X-n) = X^2-Xn+n^2

neg ecx

lea edx,[1] ;edx = (X-1)^2

.........

for example 144^2;148^2;152^2

If you know X and X^2 you may calculate any X+n ^2 or X-n ^ 2 if n is reasonably small in 1 or 2 clocks.

It based on very simple eqution that (X+n)^2 = X^2+nX + n^2

So sq. of near bigger number will be (X+1)^2 = X^2+2X+1

let we have

eax = X^2

ecx = X

lea edx,[1] ;edx = (X+1)^2 1 clock

(X+2)^2 = X^2+4X+4

lea edx,[4] ;edx = (X+2)^2 1 clock

(X+3)^2 = X^2+6X+9

lea edx,

lea edx,[9] ;edx = (X+3)^2 2 clocks

(X+4)^2 = X^2+8X+16

lea edx,[16] ;edx = ^2 1clock

And so on

The same calculations might be performed if we need (X-n)^2

we need negate ecx and do the same command 'cause (X-n) = X^2-Xn+n^2

neg ecx

lea edx,[1] ;edx = (X-1)^2

.........