我在一个文件里定义了两个汇编函数,但编译的时候提示说不认识第一个InvalidateTLBs();这是为什么呢?
asm void InvalidateTLBs()
{
addi r5,0,32
mtspr CTR,r5
}
asm void Disableint()
{
InvalidateTLBs();//调用第一个,编译通不过说不认识InvalidateTLBs();
}
什么编译环境下?那么,假如是一个C函数,是否可以调用第一个汇编函数呢?
按照我的理解,asm关键字 本来就是指在C中嵌入汇编用的。但是,你现在是汇编嵌入汇编,呵呵。
楼主的环境我不是很懂,不知道处理器是什么体系结构,如果是PowerPC平台,楼主可以这么试试
asm void InvalidateTLBs()
{
addi r5,0,32
mtspr CTR,r5
}
asm void Disableint()
{
subi r1, r1, 8
bl InvalidateTLBs
addi r1, r1, 8
}