1.AVRのアセンブラからC,C++で定義した関数を呼び出したいのです。外部関数の指定法が解りません。
test.Sのxyzから外部関数abc()を呼び出したい。
AVRのgasではexternはエラーになります。
アセンブラ内にabc:を定義するとcall abcはエラーになりません。
--- test.S
/*
extern abc
*/
.section .text,"ax",@progbits
.func xyz
xyz:
CALL abc
ret
/*
abc:
ret
*/
----test2.c
int main(void)
{
xyz();
}
void abc(void)
{
}
2.逆にCからアセンブラ呼び出すにはどのように記述すればよいでしょうか。
こちらもxyz()でエラーになります。
3. C++の関数の場合、記述はCの場合と異なるのでしょうか。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。