title: NASM compilation on DOSBox
body: <p>I'm trying to link some assembly files, but I'm having some problems. I use nasm and I make my object file with:</p>
  
  <pre><code>nasm program.asm -f bin -o program.exe
  </code></pre>
  
  <p>Code from book</p>
  
  <pre><code>    %include "io.mac"
  
  .DATA
  name_prompt db "Please type your name: ",0
  out_msg db "Your name in capitals is: ",0
  
  .UDATA
  in_name resb 31
  
  .CODE
      .STARTUP
      PutStr name_prompt ; request character string
      GetStr in_name,31 ; read input character string
  
      PutStr out_msg
      mov EBX,in_name ; EBX = pointer to in_name
  process_char:
      mov AL,[EBX] ; move the char. to AL
      cmp AL,0 ; if it is the NULL character
      je done ; conversion done
      cmp AL,’a’ ; if (char &lt; ’a’)
      jl not_lower_case ; not a lowercase letter
      cmp AL,’z’ ; if (char &gt; ’z’)
      jg not_lower_case ; not a lowercase letter
  lower_case:
      add AL,’A’-’a’ ; convert to uppercase
  not_lower_case:
      PutCh AL ; write the character
      inc EBX ; EBX points to the next char.
      jmp process_char ; go back to process next char.
  done:
  nwln
      .EXIT
  </code></pre>
  
  <p>This code work for me at Windows XP but not work at Windows 7, here is error log
  <a href="http://i.imgur.com/8xnvTmy.jpg" rel="nofollow">error</a>.Please help me find error.</p>