打印

混合编程中的几点疑问请大虾指点迷径!!!!!

[复制链接]
1884|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
suneye|  楼主 | 2007-6-25 11:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
unsigned int rr_shift16(unsigned int var,unsigned char count)
{
    while(count--)              //移位次数控制
    {
      #asm                     //嵌入汇编
      rrf ?_rr_shift16+0,w      //最低位送入C
          rrf ?_rr_shift16+1,f      //var高字节右移一位,C移入最高位
          rrf ?_rr_shift16+0,f      //var低字节右移一位
          #endasm                   //结束嵌入汇编
    }
        return(var);                //返回结果
}
这个程序我是摘自张明峰老师所著的有关PIC单片机的C语言编程内容里的,因有几处无法理解想请各位大虾指点指点
一: C语言中内嵌了汇编程序,?_rr_shift16+0,?_rr_shift16+1与?_rr_shift16+0具体含义是指什么?与变量 var 是如何联系在一起的?
二:入口参数有两个是var 和 count .返回值仍然是var.前面的var与返回的var不会发生矛盾吗?
列如调用函数rr_shift16(10,4),结果是什么?会不会还是10?
沙发
dodome521| | 2007-6-25 11:47 | 只看该作者

混合编程中的几点疑问

?_rr_shift16+0 是该子程序的第一个参数var,?_rr_shift16+1是第二个参数count。
第二个问题自己去看看C语言的书好了。

使用特权

评论回复
板凳
suneye|  楼主 | 2007-6-25 14:12 | 只看该作者

不是很明白!!

请dodome521关于第一个问题能不能说的再详细一点,还是有点不明白,谢谢!!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

16

帖子

0

粉丝