exec_input proc pascal near
           uses ax,bx,cx
           
           call get_token
           cmp al,QUOTE
           jne @@default_str    
           push offset token
           call strout
           call get_token
           cmp token,COMMA
           je @@seek_var
           push SYNTAX
           call serror
@@default_str:         
           push offset question_str
           call strout
           jmp @@get_var
@@seek_var:
           call get_token 
@@get_var:
           push offset token
           call find_var_index
           mov cx,ax
           push offset str_buf
           call get_str
           call newline
           push offset str_buf+002h
           call atoi
           cmp ax,OK
           je @@save_number
           push ax
           call serror
@@save_number:           
           mov ax,bx
           mov bx,cx
           mov variables[bx],ax
           ret     
exec_input endp