title: Linux x86 ASM - Getting User Input
body: <p>This is, hopefully, a simple question:</p>
  
  <p>First, I would like to know if anyone has an idea of how to get user input using x86 NASM Syntax Assembly on Linux. Right now, I have:</p>
  
  <pre><code>section .data
      greet:       db 'Hello!', 0Ah, 'What is your name?', 0Ah  ;simple greeting
      greetL:      equ $-greet                                  ;greet length
      colorQ:      db 'What is your favorite color?'            ;color question
      colorL:      equ $-colorQ                                 ;colorQ length
      suprise1:    db 'No way '                               
      suprise1L    equ $-suprise1
      suprise3:    db ' is my favorite color, too!', 0Ah
  
  section .bss 
      name:        resb 20                                      ;user's name
      color:       resb 15                                      ;user's color
  
  section .text
      global _start
  _start:
  
      greeting:
           mov eax, 4
           mov ebx, 1
           mov ecx, greet
           mov edx, greetL
           int 80                                               ;print greet
  
      getname:
           mov eax, 3
           mov ebx, 0
           mov ecx, name
           mov edx, 20
           int 80                                               ;get name
  
      askcolor:
           ;asks the user's favorite color using colorQ
  
      getcolor: 
           mov eax, 3
           mov ebx, 0
           mov ecx, name
           mov edx, 20
           int 80
  
      thesuprise:
           mov eax, 4
           mov ebx, 1
           mov ecx, suprise1
           mov edx, suprise1L
           int 80 
  
           mov eax, 4
           mov ebx, 1
           mov ecx, name
           mov edx, 20
           int 80 
  
           ;write the color
  
           ;write the "suprise" 3
  
           mov eax, 1
           mov ebx, 0
           int 80
  </code></pre>
  
  <p>So what it does is ask for a name and color, and say, "No way --name-- --color-- is my favorite color, too. </p>
  
  <p>What I need help on is how to find how long the "name" and "color" variables above are after the user enters them. Otherwise, I get a bunch of long, nasty spaces in between because I only know that the max size they can be is what I declared before.</p>
  
  <p>Thank you for any and all help.</p>