Previous versions of MASM require that you declare data and routines used in more than one module both public and external by using the PUBLIC and EXTRN directives in the appropriate modules. With MASM 6.0, you can now use a single directive to accomplish the same task. This makes include files much more convenient for collecting all the common data and procedure declarations for your projects.
The EXTERNDEF directive allows you to put global data declarations within an include file. The data is then visible to all source files that include the file. For more information, see Section 8.2.2.1, “Using EXTERNDEF.”
Search Order for Include Files
MASM 6.0 searches for include files in the directory of the main source file rather than in the current directory. Similarly, it searches for nested include files in the directory of the include file. You can specify additional paths to search with the /I command-line option. For more information, see Section 8.2.1, “Organizing Modules.”
In MASM 6.0, langtype takes precedence over the command-line options that specify case sensitivity. In MASM 5.1, only the command-line options influence case, not langtype.
The syntax for EXTERN allows you to specify an alternate symbol name, which the linker can use to resolve an external if the symbol is not otherwise referenced. See Section 8.4.2, “Using EXTERN with Library Routines.”