system_handlerで定義されているという名前の関数がありfunc.cます。system_handler関数のアドレスをレジスタに渡し、レジスタを呼び出すことによって、別のアセンブリ プログラムから呼び出す必要があります。
これまでのところ、私はこれを書いています:
.extern system_handler ; Is defined in func.c
mov system_handler, %eax
call %eax ; This call is making run time error in emulator
; fatal: Trying to execute code outside RAM or ROM at 0x8b1cec83
asm ファイルをアセンブルしているときに、次の警告が表示されます。
Warning: indirect call without '*'
使用するコンパイラとアセンブラ: i586-gnu-{gcc/as}、asm ファイルで AT&T 形式を使用。