Удалить последний символ из буфера клавиатуры - 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]