Привет! Мне нужно открыть файл, имя которого я ввожу с клавиатуры. Как открыть файл с определённым именем я знаю. Получается, что нужно считать вводимые с клавиатуры символы, записать их в какую-нибудь переменную, а дальше уже открывать файл с этим именем. Вот тут-то и возникла проблема. Я не знаю как записать вводимые с клавиатуры символы в какую-то переменную. Пробовал так:
| Код | open_file_name db 8 dup (0) ;Переменная для хранения имени открываемого файла (не больше 8 символов). open_file_name_len = $ - open_file_name ;Длина переменной ... mov bx,ds ;-Заносим адрес сегмента данных в es. mov es,bx ;/ mov di,open_file_name ;Заносим адрес начала переменной в di. В этой переменной будет храниться строка, которую введём с клавиатуры. mov cx,open_file_name_len ;Заносим в cx длину переменной. Будет использовано в цикле для поочерёдной записи вводимых символов. b: mov ah,1h ;-Функция считывания символа с входного устройства. int 21h ;/ cmp al,13 ;Сравниваем код полученного символа с кодом 'ENTER'. je open_file ;Если совпадают, то переходим к открытию файла. jne @F ;Если не совпадают, то продолжаем считывать символы. @@: stosb ;Заносим символ по адресу es:di. di увеличивается. loop b ;Продолжаем пока не встретим 'ENTER'. ...
|
,но вылазеет вводимая строка с Error'ом на конце. Почему так? Подскажите, пожалуйста, правильно ли я всё делаю или есть способ проще, и в чём у меня ошибка? |