UMBC CMSC 211

UMBC | CSEE


Embedding Assembly in a High Level Language

  /* 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;
}
  


UMBC | CSEE