__movca

Move with cache block allocation.

void __movca( 
  unsigned long value, 
  unsigned long* addr 
);

Parameters

  • value
    [in] Specifies longword to store in memory.
  • addr
    [in] Address in memory to be accessed.

Return Values

None.

Remarks

The following example shows how to use _prefetch with _moveca.

#include <stdio.h>
#include <shintr.h>

#pragma intrinsic(__prefetch, __movca)
void main()
{
     unsigned long addr[1]={0xffff};
     unsigned long value = 0x100;
//
     printf("before prefetch addr value = %x\n", addr[0]);     
//
     __prefetch(addr);
     printf("after prefetch addr value = %x\n", addr[0]);

     if (addr[0] != 0xffff)
          printf("error\n");

     __movca(value, addr);
     printf("after movca addr value = %x\n", addr[0]);

     if (addr[0] != value)
          printf("error\n");
}

This example results in the following output.

before prefetch addr value = ffff
after prefetch addr value = ffff
after movca addr value = 100

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: shintr.h.

See Also

__prefetch | Microprocessor-specific Intrinsic Functions

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.