title: NASM Boot Loader strange behavior
body: <p>I'm trying  to write a boot loader but none of my experiments didn’t worked until I found this question: <a href="https://stackoverflow.com/questions/5699422/why-this-boot-loader-doesnt-working">Why doesn&#39;t this boot loader code work?</a></p>
  
  <p>I had simplified this program to only write a char to screen.</p>
  
  <pre><code>[ORG 0x7C00]
  [BITS 16]
  
  realstart:
      jmp start
      nop
  
  
  start:
      xor ax,ax
      mov ds,ax
      mov es,ax
      xor bx,bx
      mov ah, 0x0e
  print:
      mov al, "A"
      int 0x10
  end:    
      cli
      hlt  
  
      times 510 - ($-$$) db 0
      dw 0xAA55
  </code></pre>
  
  <p>It compiles fine, but in the <a href="http://i2.photobucket.com/albums/y31/bannyy/NASM%20problem/normal-dump.png" rel="nofollow noreferrer">objdump</a> there isn’t any  int 0x10 command.</p>
  
  <p>If I leave strings (<a href="http://i2.photobucket.com/albums/y31/bannyy/NASM%20problem/str-source.png" rel="nofollow noreferrer">this file</a>) it all works fine.</p>
  
  <p>Where's the catch?</p>
  
  <p>(Compiling with NASM 2.08.02-1 on Cygwin Win7 SP1)</p>