ASM 函数调用问题

fyge_free   2010-5-22 22:30 楼主
我在一个文件里定义了两个汇编函数,但编译的时候提示说不认识第一个InvalidateTLBs();这是为什么呢?

asm void InvalidateTLBs()
{

   addi     r5,0,32
   mtspr    CTR,r5         
}

asm void Disableint()
{
   InvalidateTLBs();//调用第一个,编译通不过说不认识InvalidateTLBs();
}

回复评论 (6)

什么编译环境下?那么,假如是一个C函数,是否可以调用第一个汇编函数呢?
点赞  2010-5-23 00:44
MULITI 编译器,  如果是C的话是可以的
点赞  2010-5-23 15:51
按照我的理解,asm关键字 本来就是指在C中嵌入汇编用的。但是,你现在是汇编嵌入汇编,呵呵。
点赞  2010-5-23 16:05
好像汇编套汇编这么做不行吧?
点赞  2010-5-23 20:15
楼主的环境我不是很懂,不知道处理器是什么体系结构,如果是PowerPC平台,楼主可以这么试试
asm void InvalidateTLBs()
{

  addi r5,0,32
  mtspr CTR,r5   
}

asm void Disableint()
{
  subi r1, r1, 8
  bl InvalidateTLBs
  addi r1, r1, 8

}
点赞  2010-5-24 22:43
先声明下 看看
点赞  2010-5-25 20:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复