设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 其他开发语言 >> fast memory copy code
精品推荐
其他开发语言点击TOP10
·数字小键盘指法练习
·用C语言编通讯录程序(初学者级别的)
·Modem 常用AT指令集
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
·Thinking in C++ 简体中文第二版
·debug和release的区别
·error LNK2001: unresolved external symbol __ftol2 错误解决
·C库函数手册
·一个简单的C语言编译器
编程开发点击TOP10
·数字小键盘指法练习
·ASP.NET 程序中常用的三十三种代码
·用C语言编通讯录程序(初学者级别的)
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

fast memory copy code

作者: 来源:网络文章 时间:2005-12-17 1:06:22

fast memory copy code(1)

void static fmemcpy(void *dest, void *src, int n)
{

#if 1
 __asm
 {
    mov  edi,dest
    mov  esi,src
    mov  ecx,n
    push ecx
    
    // align 64 byte
    and  ecx,63
    rep  movsb
    pop  ecx
    shr  ecx,6
    cmp  ecx,0
    je   _mmx_copy_end
     
_mmx_copy:
   
    movq mm0,[esi+0]
    movq mm1,[esi+8]
    movq [edi+0],mm0
    movq [edi+8],mm1
    movq mm2,[esi+16]
    movq mm3,[esi+24]
    movq [edi+16],mm2
    movq [edi+24],mm3
    movq mm0,[esi+32]
    movq mm1,[esi+40]
    movq [edi+32],mm0
    movq [edi+40],mm1
    movq mm2,[esi+48]
    movq mm3,[esi+56]
    movq [edi+48],mm2
    movq [edi+56],mm3
     
    add esi,64
    add edi,64
    dec ecx
    jnz _mmx_copy
     
_mmx_copy_end:
    emms  
  }
#else
  __asm
  {
      mov esi, src
      mov ecx, n
      mov ebx, ecx
      shr ebx, 11 // 2048 bytes at a time
      mov edi, dest
     
loop2k: // Copy 2k into temporary buffer
    push edi
      mov edi, tbuf

共3页 9 7 [1] [2] [38 :>

fast memory copy code 相关文章:
fast memory copy code 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com