貌似是在《3D游戏编程大师技巧》上看到的这两个函数,当时觉得很牛耶,于是就记下来了,不过至今没有怎么用到,我想估计以后会有用吧。
//内嵌汇编的用于4字节填充的函数
inline void Mem_Set_QUAD(VOID *dest, UINT data, int count )
{
_asm
{
mov edi, dest ; edi指向目标内存
mov ecx, count ;要移动的32位字数
mov eax, data ;32位数据
rep stosd ;移动数据
}//end asm
}//end Mem_Set_QUAD
//用于2字节(DWORD)数据填充的函数
inline void Mem_Set_WORD(VOID *dest, USHORT data, int count )
{
_asm
{
mov edi, dest ; edi指向目标内存
mov ecx, count ;要移动的16位字数
mov ax, data ;16位数据
rep stosw ;移动数据
}//end asm
}//end Mem_Set_WORD