C语言 哪位高手帮我注释下这段代码

来源:百度知道 编辑:UC知道 时间:2024/06/30 03:26:09
void DrawMouse(int x,int y,int color) /*绘制鼠标形状*/
{
int i,j;
int temp;
unsigned char far *video_buf = ( unsigned char far *)0xa0000000;
long offset=(y<<8)+(y<<6)+x;
for(i=0;i<16;i++)
{
temp = mouse[i];
for(j=15;j>=0;j--)
{
if(!(temp&1))
video_buf[offset+j]=color;
temp = temp>>1;
}
offset += 320;
}
}

谢谢
程序分析,呵呵

void DrawMouse(int x,int y,int color) /*绘制鼠标形状*/
{
int i,j;
int temp;
//将数字0xa0000000强制转换为一个指向无符号char的长地址类型
unsigned char far *video_buf = ( unsigned char far *)0xa0000000;
//将y左移8位,加上y左移6位,再加上x;
long offset=(y<<8)+(y<<6)+x;
for(i=0;i<16;i++)
{
temp = mouse[i];
for(j=15;j>=0;j--)
{
//如果temp是奇数(最低位为1)的话
if(!(temp&1))
//设置地址0xa0000000+offset+j位的值等于color;
video_buf[offset+j]=color;
//将temp右移一位;
temp = temp>>1;
}
offset += 320;
}
}

由于不知道你这个程序是干什么的,所以我也只能解释这么多了,呵呵

是要结果,还是程序分析?