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

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

混合编程中的几点疑问

?_rr_shift16+0&nbsp;是该子程序的第一个参数var,?_rr_shift16+1是第二个参数count。<br />第二个问题自己去看看C语言的书好了。
 楼主| suneye 发表于 2007-6-25 14:12 | 显示全部楼层

不是很明白!!

请dodome521关于第一个问题能不能说的再详细一点,还是有点不明白,谢谢!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

4

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部