CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  硬件/嵌入开发 >  嵌入开发(WinCE)

谁帮我解释一下这个函数(C语言)

楼主xiao88yan(水水)2006-03-02 18:07:57 在 硬件/嵌入开发 / 嵌入开发(WinCE) 提问

LOCAL   void   _flush_cache_(   VP   laddr   )  
  {  
  register   UWentasm("r1");  
  register   UWtagasm("r2");  
   
  tag   =   (UW)laddr   &   0x1ffff000;  //这个是做什么的  
  for   (   ent   =   0x000;   ent   <   0x1000;   ent   +=   0x010   )   {  
  *(_UW*)(0xf0000008   |   ent)   =   (tag   |   ent)   &   0xfffffc00; //主要是这个循环,它做了什么  
  }  
  }  
  问题点数:50、回复次数:3Top

1 楼suyun9329(WYSIWYG)回复于 2006-03-02 20:35:56 得分 30

这个FUNCTION是很底层的了  
   
  主要是对CACHE   DATA   的发送  
   
   
  tag   =   (UW)laddr   &   0x1ffff000;   
  位与运算,可能是取的CACHE的上对应的DATA          
   
  Top

2 楼xiao88yan(水水)回复于 2006-03-03 09:15:03 得分 0

抛开技术或原理的角度,单从语言上看,下面这个循环做了什么?我看象是一个双重指针,然后进行赋值  
  for   (   ent   =   0x000;   ent   <   0x1000;   ent   +=   0x010   )   {  
  *(unsigned   int*)(0xf0000008   |   ent)   =   (tag   |   ent)   &   0xfffffc00; //主要是这个循环,它做了什么  
  }Top

3 楼shmily1280(锄禾)回复于 2006-03-06 16:28:41 得分 20

晕了...Top

相关问题

  • 那里有C语言函数解释下载?
  • 谁帮我解释一下这个函数(C语言)
  • c语言库函数
  • c语言的库函数问题
  • 菜鸟问题:c语言函数?
  • c语言函数库问题!!急!!
  • C语言函数声明问题。
  • C语言函数声明问题。
  • 哪有C语言的库函数
  • c语言库函数的源代码

关键词

  • laddr
  • ent
  • register

得分解答快速导航

  • 帖主:xiao88yan
  • suyun9329
  • shmily1280

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo