Notes on MASM 6.11 Error Messages (c) Copyright Microsoft Corp. 1994 This text file contains information on the following: - 32-bit Linker Errors - ML Errors Update - Microsoft MS-DOS Extender Run-Time Errors ============================================================================= 32-Bit Linker Errors -------------------- If you attempt to assemble a 16-bit executable file, but call the 32-bit version of LINK, you will receive a LNKnnnn error message. The following output example illustrates specifically which error messages you may receive: ********************************************************** Microsoft (R) 32-Bit Executable Linker Version 1.0 Copyright (C) Microsoft Corp 1992-93. All rights reserved. /z2 "afile.obj" "afile.exe" NUL LINK : warning LNK4044: unrecognized option "z2"; ignored LINK : warning LNK4044: unrecognized option "r"; ignored LINK : error LNK1104: cannot open file "afile.exe" ********************************************************** You may also receive the warning cvtomf() : warning : 16-bit segment If you are building a 16-bit executable file, use the LINK.EXE included with MASM 6.11. If you have the directories for both the 16-bit and 32-bit linkers included in your PATH, the directory containing the 16-bit LINK.EXE must be listed before the directory containing the 32-bit linker. ML Errors Update ---------------- The following is updated information on ML error messages. The complete list of assembler error messages is located in Appendix A of the MASM Environment and Tools book. A1004: out of memory The assembler could not load the file because all memory is exhausted. For ML.EXE to run with the Microsoft Windows operating system, a Windows swap file is often needed. A1018: COFF error writing file The assembler was unable to write to an output file. One of the following may be the cause: - The current disk is full. - The current disk is read-only. - The disk you are writing to is not ready. A1019: invalid debug and browser data; file exceeds line limit The assembler cannot generate debug or browse information on an OMF file longer than 32,767 lines, or on a coff file longer than 65,553 lines. To eliminate this error: - Break the file up into smaller pieces (each having less than 32,767 lines for OMF files, 65,553 for coff files) and reassemble, or - Assemble without options /Zi, /Fr, or /FR. A1020: cannot find LINK.EXE This error occurs when LINK.EXE cannot be found on the path. Placing LINK.EXE on the path will resolve this error. A1021: cannot find cvpack.exe This error occurs when CVPACK.EXE cannot be found on the path. Placing CVPACK.EXE on the path will resolve this error. A2112: PROC and prototype calling conventions conflict The assembler has detected that the proc and prototype statements contain different calling conventions. Make sure the calling conventions in the proc and prototype statements are the same. A2211: FAR not allowed in flat-model comm variables The assembler has detected a FAR directive in a flat-model program. The FAR directive is irrelevant for flat-model programs and should be removed. A2212: invalid .model parameter for flat model The assembler has detected nearstack or farstack directives in a flat-model program. These directives are irrelevant for flat-model programs and should be removed. A2213: ALIAS name is empty The assembler has detected that a parameter in the alias statement is empty. To remedy the situation, fill in the empty alias parameter. A2214: GROUP directive not allowed with /coff option The assembler has detected that a group directive along with the /coff option. The group directive and it's parameters should be removed. A2215: .FPO is not compatible with nested procedures. The .FPO directive should not be used within nested procedures. Remove the nested procedure or the .FPO directive from the nested procedure. ML Warnings Update ------------------ A4014: directive ignored with /coff switch Directives .SEQ, .ALPHA, and .DOSSEG are ignored when assembling with the /coff switch. These directives have no effect and should be removed from flat-model code. A4015: /Gc switch incompatible with flat model The /Gc switch is incompatible when assembling a flat- model program. The switch was ignored. A4016: /AT switch incompatible with flat model The /AT switch is incompatible when assembling a flat- model program. The switch was ignored. A4017: invalid command-line option: /