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? |