| UMBC CMSC 211 |
/* iPowme.cpp -- ipow in Visual C++ with inline assembly */
int iPow( int X, int n )
{
int P = 1,
D = X;
while( n != 0 )
{
_asm
{
shr n, 1
jnc noMul
}
P = P * D;
noMul:
D = D * D;
}
return P;
}