[alt.msdos.programmer] MASM generating extra nops in second pass

ted@polyof.poly.edu (Theodore S. Kapela, Staff) (11/29/90)

I am having a little problem with Microsoft Macro Assembler v4.00.
I have an instruction such as the following:

	mov	dl,(80-lentr)/2

where lentr is a constant (eg: lentr equ 8).  

After the first pass, the assembler generates the hex bytes B2 xx,
(where xx is dependant on the value of lentr).  On the second pass, 
it generates the hex bytes B2 xx 90.  This causes a phase error.  I don't
need the extra nop instruction, nor do I want it.  I know MASM 4.00 
does this a lot.  I have found "fixes" for some of the instances.  It
seems that, in general, when MASM calculates an immediate value using
a constant in some sort of simple equation, it does this.

I was wondering if anyone knows of some way to keep MASM from inserting the
nop instruction.  I didn't put it in the assembler source, so I don't want
it in the resulting executable.  Note that I don't want the solution
of putting in another equ statement.  This works, but it is not
what I am looking for.

Thanx in Advantz

-- 
..............................................................................
    Theodore S. Kapela                  (516) 755-4299 [Voice, Days]
    ted@polyof.poly.edu	                (516) 473-7746 [FAX]
           "Another brilliant mind corrupted by education"