PRB: A2108 Error When Using Simplified Segment Directives

ID: Q148509


The information in this article applies to:
  • Microsoft Macro Assembler for MS-DOS, versions 6.0, 6.1, 6.11


SYMPTOMS

When assembling code that uses simplified segment directives, the Macro Assembler displays an error message similar to this one:

error A2108: use of register assumed to ERROR


CAUSE

This error can occur because of incorrect order of the .DATA and .CODE directives in the assembly source code. The .DATA directive implies ASSUME CS:ERROR. Any code that appears after the .DATA directive and attempts to implicitly or explicitly use the CS register (such as JMP instructions or labels) will generate this error.


RESOLUTION

Make sure that a .CODE directive and not a .DATA directive precedes your procedure definitions and any other instructions.


STATUS

This behavior is by design.


MORE INFORMATION

Sample Code to Reproduce Error


; Assemble options needed: none

.MODEL small, c

.CODE

.DATA

my_label:

END 

Additional query words: 6.00 6.10

Keywords : MLIss
Version : :6.0,6.1,6.11
Platform : MS-DOS
Issue type :


Last Reviewed: January 10, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.