Вы хотите использовать INT 21H
функцию 01
, которая читает символ из STDIN и выводит его.Таким образом, вместо
mov ah, 06h
mov dl, 0ffh
int 21h
Вы хотите:
mov ah, 01h
int 21h
Функция 01h
- это «приготовленный» консольный ввод.Он вводит характер и эхо.Он также проверяет control-C и control-break и завершит вашу программу, если вы нажмете одну из этих клавиш.Он также может интерпретировать расширенные символы, такие как Page Up и т. Д. Я не помню.
Функция 07h
- это «необработанный» консольный ввод.Он не проверяет control-C и не выполняет никакой другой предварительной обработки.Он дает вам именно то, что было введено.
Ваш вопрос говорит, что вы должны вывести строку после того, как пользователь нажмет Enter, но я не вижу никакого кода, который выводит строку, которую вы сохранилиbeggining
.
(кстати, слово обычно пишется как «начало»)