title: How do I get user input with NASM?
body: <p>The program needs to take in a simple string from the user and display it back. I have gotten the program to take input from the user but I can't seem to store it. Here is what I have so far:</p>
  
  <pre><code>BITS 32
  global _main
  section .data
  
  prompt db "Enter a string: ", 13, 10, '$'
  input resd 1 ; something I can using to store the users input.
  
  name db "Name: ******", 13, 10,'$'
  StudentID db "********", 13, 10, '$'
  InBoxID db "*************", 13, 10, '$'
  Assignment db "************", 13, 10, '$'
  version db "***************", 13, 10, '$'
  
  section .text
  _main:
  
  mov ah, 9
  mov edx, prompt
  int 21h
  mov ah, 08h
  while:
      int 21h
              ; some code that should store the input.
      mov [input], al
      cmp al, 13
      jz endwhile
      jmp while
  endwhile:
  
  mov ah, 9
      ; displaying the input.
  
  mov edx, name
  int 21h
  mov edx, StudentID
  int 21h
  mov edx, InBoxID
  int 21h
  mov edx, Assignment
  int 21h
  mov edx, version
  int 21h
  ret
  </code></pre>
  
  <p>I am assembling this using NASM.</p>