如何在程序集x86中与ml一起编译多个文件?

时间:2009-10-12 21:26:18

标签: assembly x86 global-variables

我正在以16位的x86汇编工作。 我有三个文件需要共享'它们之间的变量' - 基本上,数据段。当我编译它们时,如下所示:

ml file1.asm,file2.asm,file3.asm io.lib

他们无法访问彼此的变量 如何共享数据段,从而共享文件之间的变量? 谢谢!

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:5)

就像在C中一样,您创建一个标题(通常给出扩展名“.inc”),其中包含另一个文件中包含的内容的外部声明,如:

;file def_data.asm:
.586P
.model flat, c

.data
     myword dd ?

end 

; file def_data.inc:
externdef myword:dword

; file use_data.asm:
.586P
.model flat, c

include def_data.inc

.code
myproc proc
    mov eax, myword
myproc endp
    end