TITLE Рубежный контроль - вариант 12 - отражение строки - 7 ошибок
.model small, stdcall
.stack 128


.data
Input BYTE "There's a song that tells you about the sounds you hear in the night. The animals crying because they're hungry, and the child crying at night, because he's hungry and lonely.$",0
Output BYTE LENGTHOF Input DUP(?)
.code

main PROC
mov ax, @data
mov ds, ax
 
cld	 

mov si, OFFSET Input 
mov cx, -2
cycle:			; Подсчёт (длины строки-1)
			;
	inc cx		;
	lodsb cx 	;
	 		;
jnz cycle		;


mov si, OFFSET Input+(LENGTHOF Input)-1-2
mov di, OFFSET Output

copy:			; Копируем зеркально
			;
	cld		;
	lodsb		;
	std		;
	stosb		;
			;
loop copy		;

mov al, '$'		; Завершим строку
stosb			;

call newline

mov ah, 02h		; Вывод строки
mov dx, OFFSET Input
int 21h

call newline
call newline
mov dx, OFFSET Output	; Вывод перевёрнутой строки
int 21h


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