TITLE Рубежный контроль - вариант 15 - Вывод строки по словам (каждое слово на новой строке) - 6 ошибок

.model small, stdcall
.stack 128


.data
Input BYTE "Running over the same old ground. What have we found?",0Ah, 0Dh,"The same old fears.",0Ah, 0Dh,"Wish you were here.$",0
Output BYTE 2*(LENGTHOF Input) DUP(?)
.code

main PROC
mov ax, @data
mov ds, ax
mov es, ax
cld	 

mov si, OFFSET Input 
mov cx, -1

cycle:			; Подсчёт длины строки
inc cx			;
lodsb 			;
jnz cycle		;


mov si, OFFSET Input
mov di, OFFSET Output

copy:			; Копируем c заменой пробелов на два символа (0Ah и 0Dh)
	lodsb		;
	test al, 20h	;al=20h? 
	jne next	;
	mov al, 0Ah	;
	stosb		;
	mov al, 0Dh	;
	stosb		;
			;
	next:		;
loop copy		;

finish:
mov al, '$'		; Завершим строку
stosb			;

call newline

mov ah, 02h		; Вывод строки
mov dx, OFFSET Input
int 21h

call newline
mov dx, OFFSET Output	; Вывод  результата

call newline

int 21h

main ENDP

newline PROC USES ax dx
mov ah, 02h
mov dl, 0Ah
int 21h
mov dl, 0Dh
int 21h

ret
newline ENDP

END main