![]() |
|
|
![]()
|
|
| kuller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
Здравствуйте!
сталкнулся с такой проблемой: выводил строки на экран и дошел до самой нижней и ДОПУСТИМ хочу вывести следующую строчку на 1 строку ниже, ну так вот ВОПРОС: как сделать чтобы ПРОКРУТИЛАСЬ страница и строка вывелась как бы на самой верхней строчке монитора или как ОЧИТСТЬ весь экран, чтобы затем выводить опять же на 1 строчке монитора мою строку??? Заранее спасибо! |
|||
|
||||
| ФедосеевПавел |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: нет Всего: 10 |
Очистить экран
Это сообщение отредактировал(а) ФедосеевПавел - 19.5.2009, 19:43 |
|||
|
||||
| kuller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
ФедосеевПавел, Спасибо! я уже сам до этого ДОШЕЛ))) (только я крутил ВНИЗ при помощи 07h)
а еще не подскажите как исправить ОШИБКУ вот такого типа: Relative jump out of range by 0092h bytes |
|||
|
||||
| ФедосеевПавел |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: нет Всего: 10 |
Условные переходы jxx позволяют перейти лишь на 128 байт взад-вперед (в 16-разрядных программах).
Решение - изменение условия на противоположное и ещё один jmp. Но лучше изменить структуру программы.
|
|||
|
||||
| kuller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
ФедосеевПавел, что то я не понял как это будет работать!!
было: jz @@MyLbl т.е. ЕСЛИ НОЛЬ то перейти на метку @@MyLbl а стало: jnz @@1 jmp @@MyLbl @@1: т.е. ЕСЛИ НЕ НОЛЬ, то перейти на метку @@1. Как тогда оно работает если допустим ВСЕТАКИ НОЛЬ, то переход на @@MyLbl, так за счет чего тут УВЕЛИЧЕНИЕ байт взад-вперед??? ФедосеевПавел, если не сложно, могли бы по подробнее рассказать??? |
|||
|
||||
| kuller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
Решил этот вопрос НАТЫКАВ в программу ПРОЦЕДУР, тем самым уменьшил расстояния до метак перехода))
p.s. может это и не правильно, но зато работает! |
|||
|
||||
| ФедосеевПавел |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: нет Всего: 10 |
Было - если 0, то перейти на @@MyLbl. Стало - если не ноль, то "перепрыгнуть" через следующую команду. А следующая команда - переход на @@MyLbl. Т.е. когда будет 0, то условие перехода не выполнится и будет выполняться следующая за jnz команда - jmp, которая и отправит на нужную метку @@MyLbl. |
|||
|
||||
| Mikl_ |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 9.11.2007 Репутация: 6 Всего: 14 |
ФедосеевПавел, для очистки экрана и перехода на новую строку в текстовом режиме достаточно mov ax,3/int 10h
|
|||
|
||||
| kuller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
Mikl_, Спасибо!!!
и этот вариант работает!
|
|||
|
||||
| ФедосеевПавел |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: нет Всего: 10 |
Mikl_, Спасибо. Теперь и я буду знать.
|
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |