2013-07-29 21 views
0

我目前有一個彙編文件,與nasm main.asm -f bin -o main.bin彙編並使用VMware啓動。我也寫了一些非常基本的字符串處理,這很好,但我想把它在一個單獨的文件中。將例程移動到單獨的文件

mov si, message 
call io.write 

message db "Hello World\r\n===================\0" 

io.write: 
    [...] 

所以我把io.write在第二個文件,但我不知道下一步該怎麼做。從我收集的信息中,我需要將global io.write放在第二個文件中,並在第一個文件中放入extern io.write。我可能完全錯了。我也認爲我需要使用鏈接器來實現這一點,但我很難理解它們的工作方式。

我周圍搜索,但可能我沒有使用正確的搜索條件。任何指針讚賞。如果可能的話,我想保持簡單,並且不要使用makefile。

回答

1

不幸的是,我認爲將16位代碼鏈接在一起並不算什麼運氣,因爲它使用了分段內存模型。一種替代方法是將所有其他.asm文件包含在一個「主文件」.asm文件中,然後只彙編該「主文件」文件。

+0

我一直在讀更多,我開始懷疑這樣。 '%include'正常工作,謝謝。 – Stijn

相關問題