| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Очистка экрана или переход на новую страницу! |
| Автор: kuller 19.5.2009, 18:59 |
| Здравствуйте! сталкнулся с такой проблемой: выводил строки на экран и дошел до самой нижней и ДОПУСТИМ хочу вывести следующую строчку на 1 строку ниже, ну так вот ВОПРОС: как сделать чтобы ПРОКРУТИЛАСЬ страница и строка вывелась как бы на самой верхней строчке монитора или как ОЧИТСТЬ весь экран, чтобы затем выводить опять же на 1 строчке монитора мою строку??? Заранее спасибо! |
| Автор: ФедосеевПавел 19.5.2009, 19:37 | ||
Очистить экран
|
| Автор: kuller 19.5.2009, 19:45 |
| ФедосеевПавел, Спасибо! я уже сам до этого ДОШЕЛ))) (только я крутил ВНИЗ при помощи 07h) а еще не подскажите как исправить ОШИБКУ вот такого типа: Relative jump out of range by 0092h bytes |
| Автор: ФедосеевПавел 19.5.2009, 20:15 | ||
| Условные переходы jxx позволяют перейти лишь на 128 байт взад-вперед (в 16-разрядных программах). Решение - изменение условия на противоположное и ещё один jmp. Но лучше изменить структуру программы.
|
| Автор: kuller 19.5.2009, 20:33 |
| ФедосеевПавел, что то я не понял как это будет работать!! было: jz @@MyLbl т.е. ЕСЛИ НОЛЬ то перейти на метку @@MyLbl а стало: jnz @@1 jmp @@MyLbl @@1: т.е. ЕСЛИ НЕ НОЛЬ, то перейти на метку @@1. Как тогда оно работает если допустим ВСЕТАКИ НОЛЬ, то переход на @@MyLbl, так за счет чего тут УВЕЛИЧЕНИЕ байт взад-вперед??? ФедосеевПавел, если не сложно, могли бы по подробнее рассказать??? |
| Автор: kuller 19.5.2009, 21:12 |
| Решил этот вопрос НАТЫКАВ в программу ПРОЦЕДУР, тем самым уменьшил расстояния до метак перехода)) p.s. может это и не правильно, но зато работает! |
| Автор: ФедосеевПавел 19.5.2009, 22:44 | ||
Было - если 0, то перейти на @@MyLbl. Стало - если не ноль, то "перепрыгнуть" через следующую команду. А следующая команда - переход на @@MyLbl. Т.е. когда будет 0, то условие перехода не выполнится и будет выполняться следующая за jnz команда - jmp, которая и отправит на нужную метку @@MyLbl. |
| Автор: Mikl_ 20.5.2009, 04:03 |
| ФедосеевПавел, для очистки экрана и перехода на новую строку в текстовом режиме достаточно mov ax,3/int 10h |
| Автор: kuller 20.5.2009, 09:22 | ||
| Mikl_, Спасибо!!! и этот вариант работает!
|
| Автор: ФедосеевПавел 20.5.2009, 18:22 |
| Mikl_, Спасибо. Теперь и я буду знать. |