Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Организация видеопамяти
В текстовом режиме в видеопамяти может храниться до 4 видеостраниц или экранов с номерами от 0 до 3. Переключение видеостраниц (т.е. вывод их содержимого на экран) осуществляется средствами BIOS. Большинство программ, в то числе и DOS, работают с 0 видеостраницей. В каждой видеостранице помещается равно один экран в 25 строк по 80 символов в каждой, причем каждый символ отображается двумя байтами - байтом с кодом символа и байтом с атрибутом символа. Порядок размещения этих кодов показан на рис. 2.3. Обозначим: адрес первой ячейки - SEGM: 0000H, где SEGM-двухбайтовое значение сегмента видеопамяти; С0 и А0 -соответственно код символа в строке 0 и атрибут символа в строке 0 и т.д. Для формирования текстового изображения на экране из видеопамяти последовательно считывается информация, начиная с адреса SEGM: 0000H. Считывание осуществляется непрерывно и циклически. Этот процесс называется сканированием памяти. По коду символа из знакогенератора выбирается соответствующая матрица для формирования изображения символа на экране. Первый символ (символ с номером С0 в строке 0) появляется в левом верхнем углу экрана с атрибутом А0. Следующие 2 байта видеопамяти изображают следующий символ справа от него и т. д. Значение смещения (SM) ячейки видеопамяти для любого символа, размещаемого в произвольной позиции (NS-строка, NK-колонка) на экране определяется по формуле:
SM = 2 * (NS * 80 + NK).
Видеостраница 0 Строка 0 SEGM: 0000
Строка1
........ ........ Строка 24
Рис.2.3. Размещение информации в видеопамяти в текстовом режиме
Для видеосистем ПК разработан ряд стандартных видеорежимов. При работе в оболочке Far manadger видеосистема по умолчанию устанавливается в текстовый цветной режим № 3 с количеством цветов равным 16 и количеством знакомест 80 х 25. Это режим работы видеоадаптера CGA, для которого видеопамять имеет емкость 16 Кбайт и начинается с адреса В800: 0000. Обычно в программах, работающих напрямую с видеопамятью, регистр DS либо ES микропроцессора загружается значением сегмента видеопамяти, а остальная часть программы работает со смещениями в видеопамяти. Задание на лабораторную работу
В этой лабораторной работе необходимо написать программу, которая бы прямым доступом в видеопамять реализовала бы эффект " бегущей буквы" по экрану, например, движение буквы по верхней строке экрана. Алгоритм этой программы может быть, к примеру, следующий: 1. Инициализация ES, DI, CX. 2. Заполнение 0 страницы видеопамяти одинаковыми символами (например, кодом буквы " А" - 128 (80h) и одинаковыми атрибутами, причем такими, что бы цвет символа в них совпадал бы с цветом фона, т.е. символ был невидимым. Это легче всего сделать с помощью команды STOSW (см. приложение 2.1). Коды некоторых символов приведены в приложении 2.2. 3. У символа на строке 0 и колонке 0 меняем атрибут на любой видимый, делаем задержку, после нее изменяем атрибут у следующего символа в строке и возвращаем старое значение атрибута предыдущему символу, т.е. гасим его. Эти действия продолжаем до 79 колонки 0-й строки. 4. Выход из программы. Таким образом, просто " зажигая" и " гася" записанные в видеопамять байты символов, мы получаем эффект бегущей по экрану буквы.
Ваpианты заданий на лабоpатоpную pаботу: Ваpиант 1. Движение символа по периметру экрана, начиная с позиции (0, 0) слева напpаво. Ваpиант 2. Движение символа по периметру экрана, начиная с позиции (0, 0) сверху вниз. Ваpиант 3. Движение символа по периметру экрана, начиная с позиции (24, 79) справо налево. Ваpиант 4. Движение символа по периметру экрана, начиная с позиции (24, 0) слева напpаво. Ваpиант 5. Движение символа по периметру прямоугольника с позициями вершин (0, 40), (24, 40), (24, 79), (0, 79). Ваpиант 6. Движение символа по периметру прямоугольника с позициями вершин (10, 0), (24, 0), (24, 50), (10, 50). Ваpиант 7. Движение символа по периметру прямоугольника с позициями вершин (0, 30), (15, 30), (15, 79), (0, 79). Ваpиант 8. Движение символа по периметру прямоугольника с позициями вершин (0, 0), (0, 40), (20, 40), (20, 0).
Во время отладки программы необходимо поэкспериментировать с цветом символа и цветом фона.
Приложение 2.1
|