ID Number: Q79821
6.00 | 6.00
MS-DOS | OS/2
buglist6.00 fixlist6.00a
Summary:
PROBLEM ID: MSM9201004
SYMPTOMS
Microsoft Macro Assembler (MASM) version 6.0 will incorrectly
generate the following error when the sample code below is
assembled:
A4000: cannot modify READONLY segment
CAUSE
This problem occurs because the segment is tagged as READONLY, and
MASM treats the CMP instruction as if it modifies memory. This is
incorrect behavior because the CMP instruction does not modify any
memory.
RESOLUTION
To work around this problem, either remove the READONLY tag from
the segment or ignore the warning when it is generated for CMP
instructions.
STATUS
Microsoft has confirmed this to be a problem in MASM version 6.0.
This problem was corrected in MASM version 6.0a.
More Information:
The sample code below reproduces the problem.
Sample Code
-----------
; Assemble options needed: none
code SEGMENT word public readonly 'code'
ASSUME cs:code
cmp word ptr cs:[di], 0
code ENDS
END
Additional reference words: 6.00