Удалить последний символ из буфера клавиатуры - Assembler

Узнай цену своей работы

Формулировка задачи:

Нужно удалять из буфера клавиатуры последний символ, но он естественно не удаляется и выводится весь буфер. Что не так?
    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   ;сохраним новое значение хвоста
В es - 040h. Сам код находится в обработчике прерывания 09.

Решение задачи: «Удалить последний символ из буфера клавиатуры»

textual
Листинг программы
call    ds:[oldInt09]

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.538 из 5
Похожие ответы