ARMv5 アセンブリ コーディングは初めてです。
CALL_VM_FUNCTION を使用してアセンブリ コードから C 関数を呼び出したいとします。私の C 関数は 3 つの引数を使用します。C 関数を呼び出す前に、どのレジスタに引数を保存しますか? これに続く特定の規則はありますか?
それに加えて、C 関数の呼び出しが行われる前後に、レジスタが値を保持していることを確認したいと考えています。プッシュとポップの命令はその問題を完全に処理しますか?
例えば:
PUSH {a1-a4} /*values held in registers a1-a4 are saved*/
/*instruction to pass arguments in the registers for C function call*/
CALL_VM_FUNCTION(C-function)
POP {a1-a4}
前もって感謝します!:-)