title: define a variable of struct in assembler x86 32/64 bit
body: <p>I have a problem with struct in assembly.
  Now I define a struct in this way</p>
  
  <pre><code>$struct date
    giorno db ?
    mese   db ?
    anno   dd ?
  ends date
  
  local data1:data$
  </code></pre>
  
  <p>I have 4 questions:</p>
  
  <p>1) If I insert another local directive do I have other variable or do I rename the first variable?</p>
  
  <p>2) When I do <code>mov eax,date.giorno</code> does <code>eax</code> have a <em>data</em> of <code>data.giorno</code> or does <code>eax</code> have <em>address</em> of <code>data.giorno</code>?</p>
  
  <p>3) Can I make to insert all struct in the stack with only 1 push statement?</p>
  
  <p>4) If I have 2 variables <code>data1</code> and <code>data2</code> of same type how I can create a macro?</p>
  
  <p>Thanks in advance those who help me understand.</p>