title: Difference between "mov eax, [num]" and "mov eax, num"
body: <p>I am a beginner and writing assembly program to print numbers from 1 to 9 using this code:</p>
  
  <pre><code>section .text    
     global _start                    
  _start:                     
     mov ecx,10    
     mov eax, '1'     
  l1:    
     mov [num], eax    
     mov eax, 4    
     mov ebx, 1    
     push ecx     
     mov ecx, num            
     mov edx, 1            
     int 0x80     
     mov eax, [num]    
     sub eax, '0'    
     inc eax    
     add eax, '0'    
     pop ecx    
     loop l1      
     mov eax,1             ;system call number (sys_exit)    
     int 0x80              ;call kernel    
  section .bss    
  num resb 1
  </code></pre>
  
  <p>Here we have following three statements:</p>
  
  <ol>
  <li>mov [num], eax</li>
  <li>mov ecx , num</li>
  <li>mov eax, [num]</li>
  </ol>
  
  <p>I want to know why we should use <code>mov ecx,num</code> rather than <code>mov ecx,[num]</code></p>