![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 27.05.2015
Сообщений: 1
|
![]()
Cамо задание звучит так : Заполнить экран произвольной информацией, по нажатию на 1 и 2 осуществлять скроллинг влево и вправо соответственно
вопрос такой в какой строчке мы указываем какими символами заполнять? можно ли заполнить не произвольной информацией? Код:
Последний раз редактировалось Stilet; 27.05.2015 в 11:42. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
..это у тебя надо спросить. И зачем ты для скроллинга обрабатываеш прерывания? Если строка произвольная, то просто перемещай последний символ в начало строки (скрол влево) или первый символ в конец строки (скрол вправо). Проще всего делать это прям в видеобуфере...
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
При использовании видеобуфера в текстовых режимах, для хранения каждого символа отводятся по-два байта: байт с ASCII-кодом символа и байт с его атрибутом (цвет фона/текста).
По адресу B800h:0000h лежит байт с кодом символа(1), а по адресу B800h:0001h лежит атрибут этого символа; по адресу B800h:0002h лежит код символа(2), а по адресу B800h:0003h лежит его атрибут, и т.д. Таким образом, можно вывести текст на экран простой командой пересылки данных, не прибегая к функциям DOS/BIOS. Ниже, участок кода, который выводит все ASCII-символы одноимённой таблицы (выводим произвольные данные). Скрол - попробуй организовать сам. Бери последний символ и вставляй его вначало, после чего удаляй последний символ, ..и так в цикле. Буду выводить инфу по-центру экрана, чтоб было место для скрола влево. Так-как каждому символу отводятся по-два байта - копирую словами. По соглашению Интел - байты заносим в обратном порядке: Код FASM: Код:
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобраться с кодом! | Astiya | Помощь студентам | 3 | 29.03.2015 15:33 |
проблемы с кодом на С++. Компилятор коряво интерпретирует или руки не оттуда растут? Помогите разобраться, пожалуйста. | OstapGr | Помощь студентам | 1 | 02.07.2014 15:25 |
Помогите разобраться с кодом | braviatry11 | Общие вопросы Delphi | 3 | 12.06.2014 19:29 |
Помогите разобраться с кодом | Superlotles | Общие вопросы Delphi | 6 | 19.08.2009 22:24 |