Удалить последний символ из буфера клавиатуры - Assembler
Формулировка задачи:
Нужно удалять из буфера клавиатуры последний символ, но он естественно не удаляется и выводится весь буфер. Что не так?
В es - 040h. Сам код находится в обработчике прерывания 09.
Листинг программы
- mov di,es:[01Ch] ;в di хвост
- cmp di,01Eh ;дошли до начала буфера?
- je isend ;если да, то указатель переместим на конец буфера
- inc di ;иначе уменьшим указатель на 2
- inc di
- jmp save
- isend:
- mov di,03Ch ;в di адрес конец буфера
- save:
- mov es:[01Ch],di ;сохраним новое значение хвоста
Решение задачи: «Удалить последний символ из буфера клавиатуры»
textual
Листинг программы
- call ds:[oldInt09]
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д