dosseg .data buffer db 50 dup('$') ; allocate space for up to 50 characters .code mov ax, @data mov ds, ax lea si, buffer mov cx, 50 read_loop: mov ah, 1 int 21h cmp al, 13 je done mov [si], al inc si loop read_loop done: mov byte ptr [si], '$' lea dx, buffer mov ah, 9 int 21h main endp end main