我有一个名为的函数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 格式。