[comp.binaries.ibm.pc.d] Q: MASM 5.0 and forward referencing

bkahn@archive.webo.dg.com (Bruce Kahn) (12/08/90)

  I have what I hope is another simple question, this time concerning MASM 5.0.
I have some assembly code that Im trying to get to work under MASM 5.0 but it
uses foward references to byte pointers and MASM is not finding these 
labels / locations properly.  Id look in my manual but it seems that it was
stolen along w/my C 5.1 manuals sometime over the summer.  Id solve the problem
by simply moving the label BUT the program (naively) assumes that its 'work' 
buffer starts at the end of the program and is infinite (well 65536 - 200, the
size of the code...).  A fragment of the code follows:

read_file_found:
        mov     handle,ax

        mov     ah,3fh                  ;read the whole thing in.
        mov     bx,handle
        mov     cx,65535 - 200
        sub     cx,offset face_buffer
        mov     dx,offset face_buffer
        int     21h
        jnc     read_okay
        mov     dx,offset read_trouble
        stc
        ret
read_okay:

and the file ends with:

face_buffer     label   byte

code    ends

        end     start

  To build I use:

masm showface.asm, showface.obj, showface.lst;
link showface.obj, showface.exe, showface.map;

  Any ideas anyone??

-- 
                                          Bruce (bkahn@archive.webo.dg.com or
                                                 kahn@adam.dg.com)
  
  Standard disclaimers apply, except where prohibited by law...