我正在做一個項目,附加了一個子程序,我寫了一個包含在老師的主文件中的子程序。他給我們提供了使我們的子程序全球化的指示,但顯然我是個白癡。這兩個asm文件位於同一個文件夾中,我使用nasm -f elf -g prt_dec.asm
和ld prt_dec
,然後對main.asm執行相同的操作。下面是在main.asm中的相關代碼:nasm從另一個文件調用子例程
SECTION .text ; Code section.
global _start ; let loader see entry point
extern prt_dec
_start:
mov ebx, 17
mov edx, 214123
mov edi, 2223187809
mov ebp, 1555544444
mov eax, dword 0x0
call prt_dec
call prt_lf
線call prt_dec
拋出「未定義參考prt_dec」當我使用ld main.o
下面是從我的prt_dec.asm代碼段:
Section .text
global prt_dec
global _start
start:
prt_dec:
(pushing some stuff)
L1_top:
(code continues)
謝謝,它看起來像問題是我組裝文件的方法。 – rcj 2013-03-01 21:16:10