Article: Q148509
Product(s): Microsoft Macro Assembler
Version(s): 6.0,6.1,6.11
Operating System(s):
Keyword(s):
Last Modified: 04-MAY-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Macro Assembler (MASM), 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 :
Technology : kbMASMsearch kbAudDeveloper kbMASM600 kbMASM610 kbMASM611
Version : :6.0,6.1,6.11
=============================================================================