Nand Flash控制器

你好,我有一个问题不太理解
就是Nand Flash控制器内篇
其中 “bl nand_read ”中的nand_read,是一个C语言函数,调用它的时候传了三个参数,分别是r0,r1,r2;nand_read位于nand.c中,
这个是怎么传参的呀,C语言传参不是得将形参转换成实参吗,这里为什么没传参呀

/* 读函数 */
void nand_read(unsigned char *buf, unsigned long start_addr, int size)
{
int i, j;

#ifdef LARGER_NAND_PAGE
if ((start_addr & NAND_BLOCK_MASK_LP) || (size & NAND_BLOCK_MASK_LP)) {
return ; /* 地址或长度不对齐 /
}
#else
if ((start_addr & NAND_BLOCK_MASK) || (size & NAND_BLOCK_MASK)) {
return ; /
地址或长度不对齐 */
}
#endif

/* 选中芯片 */
nand_select_chip();

for(i=start_addr; i < (start_addr + size);) {
  /* 发出READ0命令 */
  write_cmd(0);

  /* Write Address */
  write_addr(i);

#ifdef LARGER_NAND_PAGE
write_cmd(0x30);
#endif
wait_idle();

#ifdef LARGER_NAND_PAGE
for(j=0; j < NAND_SECTOR_SIZE_LP; j++, i++) {
#else
for(j=0; j < NAND_SECTOR_SIZE; j++, i++) {
#endif
*buf = read_data();
buf++;
}
}

/* 取消片选信号 */
nand_deselect_chip();

return ;

}

你这个是函数定义啊,这个地方为什么要传,你要调用他的时候传的。