title: Duplicate declaration error. Assembly
body: <p>I'm using masm and dosbox. In my program I have 3 procedures similar to the proc down_left (below). In each of these 4 proc are used the same names:  "down_edge, right_edge, left_edge, up_edge, corner, done, next, normal, czykrawedzboczna".</p>
  
  <p>How can I make these names local for each proc?
  I tried something like "LOCAL down_edge, right_edge, ....". But it doesn't work.</p>
  
  <pre><code>proc down_left          
      pusha
      LOCAL down_edge, right_edge, left_edge, up_edgelcorner, done, next, normal, czykrawedzboczna
      mov ah,es:[bishop]      ;x - biskupa
      mov al,es:[bishop+1]    ;y - biskupa 
  
      cmp ah,0
      jne next
          cmp al,8
          je done
      next:
  
      cmp al,8
      je down_edge            ; dolna krawedz 
  
      cmp ah,0                     ;Czy x=0, y&lt;{0,1,2,3,4,5,6,7,8}
      jne normal
          mov cl,0
          czykrawedzboczna:            ;lewa krawedz
              cmp al,cl
              je left_edge
              add cl,1
              cmp cl,8
              ja normal   
         jmp czykrawedzboczna
  
      normal:
          dec ah
          dec al 
          jmp done     
  
      down_edge: 
          dec ah
          jmp done  
      left_edge: 
          dec al
          jmp done
  
      done:
          xor bx,bx
          mov bl,nr ah al 
          inc es:[tablica+bx]    
          mov es:[bishop],ah      ;x - biskupa  ZAPISZ BIERZACE POLOZENIE BISKUPA
          mov es:[bishop+1],al    ;y - biskupa 
      popa              
      ret
  down_left  endp       
  </code></pre>