Код: Выделить всё
.MODEL small
.STACK 200h
.DATA
StringBuffer DB 80, ?, 81 dup (?)
.CODE
ProgramStart: mov ax, @DATA
mov ds, ax
mov ah, 0Fh ;определение номера текущего видеорежима
int 10h
mov ah, 00h ;устанавливание видеорежима с тем же номером как и текущий
int 10h
mov ah, 0ah ;запрашивание у пользователя строки
int 21h
mov ah, 0Fh ;очистка экрана
int 10h
mov ah, 00h
int 10h
mov ax, 80 ;координата X для выводимой строки – x =(80-L)/2
sub AL, StringBuffer[1]
mov bl, 2
div BL
mov ah, 02h ;перемещение курсора в выбранную позицию на экране
int 10h
mov bh, 0
mov bl, StringBuffer[1] ;ограничительный символ $ поместить в конец введенной строки
mov bh, 0
add bx, 2
mov StringBuffer[BX], '$'
mov ah, 09h ;вывод строки на экран
int 21h
mov ah, 0 ;пауза до нажатия любой клавиши
int 16h
mov ah, 4Ch ;завершение работы программы
int 21h
END ProgramStart