Microsoft KB Archive/24955

= Results of not Specifying a Starting Address =

Article ID: 24955

Article Last Modified on 10/22/2003

-

APPLIES TO


 * Microsoft Macro Assembler 4.0
 * Microsoft Macro Assembler 5.0
 * Microsoft Macro Assembler 5.1 Standard Edition
 * Microsoft Macro Assembler 6.0 Standard Edition
 * Microsoft Macro Assembler 6.0a
 * Microsoft Macro Assembler 6.0b

-



This article was previously published under Q24955



SUMMARY
If a starting address is not explicitly specified, then the starting address will be one of the following:
 * 1) The beginning of the code if the simplified segment directives .model and .code are used (MASM 5.0 and later). -or-


 * 1) The first segment loaded into memory if full segment directives are used. This will result in the execution of the data segment if it is the first segment loaded and the results will be unpredictable.

Versions of the linker prior to version 5.05 do not warn if a starting address is not specified. Link version 5.13 (shipped with MASM 6.0) issues the following warning:

L4038: program has no starting address



MORE INFORMATION
The END directive is used to mark the end of the source file and can optionally be used to set the starting address which will be loaded into CS:IP when the program executes. For example END start would specify that execution should begin at the label named start.

Additional query words: kbinf 3.x 4.x 5.00 5.10 6.00 6.00a 6.00b

Keywords: KB24955

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.