2013-07-29 2 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 в первом файле. Я тоже ошибаюсь. Я также думаю, что мне нужно использовать компоновщик для достижения этого, но мне трудно понять, как они работают.

Я искал, но, скорее всего, я не использую правильные условия поиска. Любые указатели оцениваются. Я хотел бы сохранить все просто и не использовать make-файл, если это возможно.

ответ

1

К сожалению, я не думаю, что вам удастся связать 16-разрядный код вместе, так как он использует сегментированную модель памяти. Один из вариантов - включить все ваши файлы .asm в один файл «master» .asm и просто собрать этот «главный» файл.

+0

Я читал дальше, и я начал подозревать как таковой. '% include' отлично работает, спасибо. – Stijn

Смежные вопросы