Вопрос № 108499: Здравствуйте, уважаемые эксперты. Решил несколько модифицировать листинг 12.9 «Очистка экрана с помощью rep» из книги Калашникова. Добавил функцию ожидания нажатия клавиши и добавил видеорежим «Графика. 16 цветов» 12h прерывания 10h. При запуске прог...Вопрос № 108593: Найти значение регистров после выполнения программы
Начальное значения регистров: ax= 9A13h, bx =0CBD5h, cx=0000h, dx=0AECh
Дан фрагмент программы на ассемблере:
push AX
shr BX,1
pop CX
add CX,BX
not CX
lb1: add BX...
Вопрос № 108.499
Здравствуйте, уважаемые эксперты. Решил несколько модифицировать листинг 12.9 «Очистка экрана с помощью rep» из книги Калашникова. Добавил функцию ожидания нажатия клавиши и добавил видеорежим «Графика. 16 цветов» 12h прерывания 10h. При запуске программы экран стал чёрным, потом по нему пошли цветные полосы. При перезагрузке процессорный вентилятор несколько раз с интервалом в несколько секунд пытался заработать, но впоследствии затихал. После последующего выключения и включения компьютер заработал, но появилась
надпись с сообщением о нажатии F1. После нажатия я попал в БИОС, в котором, к моему удивлению, первым загрузочным устройством был флоппи-дисковод, а не, как всегда, жёсткий диск. После установки на загрузку с жёсткого диска, компьютер заработал как обычно. Неужели подобная ситуация как-то была связана с изменённой мною программой?
P.S. Во время запуска программы работал аудиоплейер, музыка играла и тогда, когда экран был чёрным, а на нём появлялись полосы.
Приложение:
Отправлен: 08.11.2007, 00:06
Вопрос задал: Masada (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Masada!
Верероятнее всего это был сбой работы компьютера.
По программе:
12-ый режим -это графический, 16-ть цветов, разрешение 640х480 точек,
сегментный адрес видео буфера 0A000h
(0B800h для режимов: 00h-06h).
вывод происходит по принципу бит-точка, цвет точки определяют регистры палитры.
Подробности смотрите в книге В. Кулакова.
Удачи!
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 09.11.2007, 19:33 Оценка за ответ: 5
Вопрос № 108.593
Найти значение регистров после выполнения программы
Начальное значения регистров: ax= 9A13h, bx =0CBD5h, cx=0000h, dx=0AECh
Дан фрагмент программы на ассемблере:
push AX
shr BX,1
pop CX
add CX,BX
not CX
lb1: add BX,3
loop lb1
or AX,DX
Отвечает: An42
Здравствуйте, Валерий Сергеевич Жижин!
Привожу приложение, которое показывает в данном примере как изменяются значение регистров при выполнение исходного фрагмента
Удачи
Приложение:
Ответ отправил: An42 (статус: 5-ый класс)
Ответ отправлен: 11.11.2007, 10:15