Как заставить работать backspace в сборке lc3

Мой код,

LOOP TRAP x20    ;get c
     TRAP x21    ;out
     BRnzp LOOP

Он выведет любую букву на консоли, вернет каретку, табуляцию, но не вернет пробел, а кнопка удаления даже не появится в реестре. Backspace просто покажет какой-то символ, похожий на []. Удаление ничего не показывает.

Я попробовал другую версию без ввода, где я использовал значение ascii для удаления и значение ascii для начала текста, чтобы переместить курсор и удалить, но, похоже, это ничего не делает. Это баг или я что-то не так делаю?

Есть ли другой способ очистить консоль? Я мог бы обойти это, если бы я спамил кучу новых строк, пока они не исчезнут с экрана, но я бы предпочел, чтобы они работали нормально. Любые идеи?


person cba1067950    schedule 05.05.2016    source источник


Ответы (1)


Вывод символа возврата ничего не сделает с уже выведенными символами, потому что они уже есть.

Обычно лучший способ добиться этого — настроить консоль на совместимость с VT100 (часто устанавливается по умолчанию) и использовать escape-коды VT100 для перемещения по экрану.

person aqua    schedule 11.05.2016