Главная » Ассемблер

Программирование порта последовательной передачи данных

Добавлено Дата: 21 June, 2011 категория: Ассемблер, Железо

Для того чтобы можно было принимать и обрабатывать информацию, передаваемую мышью, необходимо запрограммировать регистры последовательного порта в соответствии с параметрами протокола передачи данных, который она использует.

Последовательный порт передает и принимает информацию в асинхронном режиме. Формат передачи данных последовательного порта в обобщенном виде представлен на рис. 5.1.

Читать »

Порядок выполнения транзакций USB

Добавлено Дата: 20 June, 2011 категория: Ассемблер, Железо

Все транзакции на шине USB выполняются под управлением хост-

контроллера. Передача данных возможна только по запросам хоста:

периферийные устройства не могут выдать на шину какую-либо информацию по собственной инициативе, не могут самостоятельно посылать запросы прерываний.

Читать »

Конфигурационное пространство устройства PCI

Добавлено Дата: 19 June, 2011 категория: Ассемблер, Железо

Для программистов интерес в первую очередь представляют функции PCI BIOS, поскольку они позволяют получить доступ к информации об адресном пространстве и пространстве ввода-вывода подключенных к шине PCI устройств. Описание этих функций дано в PCI BIOS Specification [81], а также в руководстве PhoenixBIOS User’s Manual [85].

Читать »

Дескриптор интерфейса USB

Добавлено Дата: 18 June, 2011 категория: Ассемблер, Железо

Стандартный дескриптор интерфейса (Standard Interface Descriptor) содержит информацию об одном из интерфейсов, доступных

при определенной конфигурации устройства. Структура Стандартного дескриптора интерфейса показана в табл. 8.6.

Таблица 8.6. Структура Стандартного дескриптора интерфейса

Читать »

Принтеры: печать в растровом режиме

Добавлено Дата: 17 June, 2011 категория: Ассемблер, Железо

У программистов при работе с принтерами возникает та же самая проблема, что и при работе с другими типами аппаратуры: изготовители в документации обычно приводят наборы команд, но не дают ни пояснений, зачем эти команды нужны, ни рекомендаций по использованию, ни примеров — предполагается, что все и так понятно из названия команды. Есть только одна особенность: другие устройства еще не документированы, а принтеры — уже не документированы. В последнее время изготовители принтеров стали придерживаться теории, утверждающей, что пользователям знать о командах вообще ничего не нужно, и изъяли всякое упоминание о них из описаний типа User’s Manual, поставляемых вместе с принтерами. В общем-то, эта теория верна, однако для специалистов информацию можно было оставить хотя бы в Интернете…

Читать »

Формат PCX для 256-цветных изображений

Добавлено Дата: 16 June, 2011 категория: Ассемблер, Железо

Если необходимо экономить дисковое пространство, то для 256- цветных изображений лучше использовать формат PCX со сжатием по алгоритму Run Length Encoding (RLE). Файл PCX состоит из трех частей: заголовка, сжатого изображения и таблицы палитры. Формат заголовка файла PCX показан в табл. 4.11.

Читать »

Управление размещением графических изображений на странице

Добавлено Дата: 12 June, 2011 категория: Ассемблер, Железо

Перед началом выполнения процесса печати необходимо задать размеры ограничительных полей по краям страницы, определив четыре значения:

•           отступ от верхнего края листа бумаги (Top margin);

Читать »

Последовательность инициализации адаптера NE2000

Добавлено Дата: 9 June, 2011 категория: Ассемблер, Железо

Процедура инициализации адаптера включает представленную ниже последовательность операций [99].

•     Настроить Регистр команды CR на страницу 0, записав в него < значение 21h.

•     Настроить Регистр управления форматом данных DCR (например, значение 49h соответствует режиму работы, в котором передача данных выполняется 16-разрядными словами, используется порядок передачи байтов, принятый в процессорах 80×86, адаптер находится в рабочем режиме, автоинициализация не используется, а размер очереди данных составляет 8 байт).

Читать »

Непосредственная работа с контроллером клавиатуры

Добавлено Дата: 9 June, 2011 категория: Ассемблер, Железо

Реальная необходимость в непосредственной работе с клавиатурой возникает в том случае, если вы создаете программу, которая переводит процессор из реального режима в защищенный, а затем выполняет в защищенном режиме всю дальнейшую работу. Переход в защищенный режим приводит к тому, что функции BIOS, рассчитанные на реальный режим, становятся непригодными для использования.

Читать »

Вывод текста и статических изображений в графических режимах

Добавлено Дата: 9 June, 2011 категория: Ассемблер, Железо

Функции BIOS VGA не обеспечивают приемлемой скорости вывода символов на экран, поэтому в графических режимах текст выводится напрямую в видеопамять (растровое разложение символа передается по точкам).

Наиболее простым способом вывода на экран текста и статических изображений является метод масок. Вообще говоря, для создания изображения объекта необходимо два массива: массив, содержащий рисунок объекта, и массив, содержащий маску прозрачности, то есть указание, какие точки рисунка должны отображаться на экране, а в каких надлежит сохранить фон изображения. Однако с целью экономии памяти оба массива объединяют и именуют полученный результат маской объекта (рис. 4.11). Таким образом, маска представляет собой растровое изображение объекта, совмещенное с шаблоном прозрачности.

Читать »

Масштабирование изображений

Добавлено Дата: 9 June, 2011 категория: Ассемблер, Железо

При работе с различными изображениями на компьютере довольно часто возникает необходимость в их увеличении или уменьшении, то есть в масштабировании. Алгоритмы для получения изображения в произвольном масштабе относительно сложные, но увеличить или уменьшить изображение в целое число раз нетрудно.

Читать »

Риск потери информации, связанный с выполнением операций форматирования и записи данных

Добавлено Дата: 8 June, 2011 категория: Ассемблер, Железо

Непосредственная работа с контроллером дисков чаще всего применяется для записи или считывания данных в режиме реального

времени — например, при проведении экспериментов или при обработке видеоизображений. Режим реального времени предполагает непрерывную передачу информации — система должна успевать обрабатывать каждый пакет данных до поступления следующего пакета (иначе один из пакетов будет потерян). При работе с дисковыми накопителями непрерывность передачи информации может нарушаться при периодической термокалибровке привода головок, при выполнении процедуры самотестирования либо в результате фрагментации файлов. Для работы в реальном времени, вообще говоря, выпускаются специальные жесткие диски (например, мультимедийные цифровые видеомагнитофоны), но можно попробовать использовать и обычные диски с большим объемом буферной памяти, которая позволяет замаскировать термокалибровку и самотестирование. Альтернативным вариантом является создание буфера данных большого объема в оперативной памяти компьютера.

Читать »

Набор команд Epson для печати в растровом режиме

Добавлено Дата: 7 June, 2011 категория: Ассемблер, Железо

В отличие от группы команд ESC/P, ставших международным стандартом, набор команд для печати в растровом режиме используется только принтерами Epson. Общая тенденция компьютерной отрасли к полному отказу от текстового режима и переходу на растровую печать коснулась и всех младших моделей струйных принтеров Epson: они не поддерживают текстовый режим и печать битовых образов.

Читать »

Группа дисковых функций MS-DOS

Добавлено Дата: 6 June, 2011 категория: Ассемблер, Железо

В эту группу входят прерывания, предназначенные для выполнения основных функций операционной системы, в том числе для выполнения операций с логическими дисками, файлами и каталогами [3, 10]. Дисковые функции DOS обладают достаточной полнотой и универсальностью для решения любых задач в реальном режиме DOS. Они могут применяться и в режиме линейной адресации памяти, но информацию в расширенную память приходится пересылать через промежуточный буфер в первом мегабайте адресного пространства процессора. Впрочем, дополнительные пересылки не особенно замедляют работу: поиск данных на диске и передача информации между диском и процессором занимает гораздо больше времени, чем копирование такого же объема данных с одного участка оперативной памяти в другой.’

Читать »

Каталоги файлов

Добавлено Дата: 2 June, 2011 категория: Ассемблер, Железо

Каталог файлов представляет собой массив 32-байтных элементов — описателей файлов. С точки зрения операционной системы все

каталоги (кроме корневого каталога в системах FAT12 и FAT16) выглядят как файлы и могут содержать произвольное количество записей.

Читать »