Прикладные программные средства 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Прикладные программные средства



Прикладные программные средства – это готовые и, как правило, продаваемые программные системы на CD или DVD дисках – фильмы, учебники, энциклопедии, игры, книги, виртуальные музеи, путеводители, рекламные материалы и т. д.

ний.

Устройство ввода

· Клавиатура

· Мышь и тачпад

· Планшет

· Джойстик

· Сканер

· Цифровые фото, видеокамеры, веб-камеры

· Микрофон

Устройство вывода

· Монитор

· Графопостроитель

· Принтер

· Акустическая система

Устройства ввода-вывода

· Интерактивная доска

· Стример

· Дисковод

· Сетевая плата

· Модем

· Гаптоклон

  1. CMOS. Сетевое оборудование.

КМОП (комплементарная структура металл-оксид-полупроводник; англ. CMOS, complementary metal-oxide-semiconductor) — технология построения электронных схем. В более общем случае — КМДП (со структурой металл-диэлектрик-полупроводник). В технологии КМОП используются полевые транзисторы с изолированным затвором с каналами разной проводимости. Отличительной особенностью схем КМОП по сравнению с биполярными технологиями (ТТЛ, ЭСЛ и др.) является очень малое энергопотребление в статическом режиме (в большинстве случаев можно считать, что энергия потребляется только во время переключения состояний).

ЗНАЧЕНИЯ параметров биос изменять которые можно в BIOS Setup, хранятся в специальной микросхеме динамической памяти, которая называется CMOS (или КМОП). Кроме настроек BIOS в CMOS хранятся параметры конфигурации компьютера. Суммарный объем памяти CMOS составляет всего 256 байт и потребляет она очень мало энергии. Стандартная батарейка, расположенная на материнской плате питает CMOS в течение 5-6 лет, после чего необходимо производить ее замену.

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

Если срок батарейки, питающей CMOS, подошел к концу, то при включении компьютера на экран будет выведено сообщение, например, " CMOS-checksum error". Для возобновления работы компьютера необходимо будет установить новую батарейку взамен вышедшей из строя.

После замены батарейки при первом включении компьютера заводские настройки, хранящиеся в BIOS, будут "сброшены" в CMOS-память. Это, кстати, один из способов устранить неисправность, если вы "перемудрили" с настройками BIOS. Для этого надо выключить компьютер, вынуть на 30 секунд батарейку из материнской платы, установить ее назад, и заводские настройки BIOS будут восстановлены, а компьютер снова заработает.

Память CMOS

Начиная с компьютеров на процессоре 80286 (IBM PC AT) постоянная память ROM BIOS обязательно дополняется небольшой энергонезависимой оперативной памятью CMOS RAM, которая выполнена на микросхемах с пониженным энергопотреблением с технологией КМОП (CMOS) и при выключении питания компьютера подпитывается от батарейки или аккумулятора (эта память, как правило, входит в состав других микросхем). В CMOS-памяти хранится информация о текущих показаниях часов (дате и времени), о значении времени для будильника, о конфигурации компьютера: приоритете загрузки с разных накопителей, количестве памяти, типах накопителей, режимах энергопотребления, о типе дисплея, об установках клавиатуры и т.д. CMOS RAM отличается от постоянной памяти тем, что записанная в нее информация легко меняется программным путем.

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

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

Сетево́е обору́дование — устройства, необходимые для работы компьютерной сети, например: маршрутизатор, коммутатор, концентратор, патч-панель и др. Можно выделить активное и пассивное сетевое оборудование.

Активное сетевое оборудование

активное оборудование — это оборудование, содержащее электронные схемы, получающее питание от электрической сети или других источников и выполняющее функции усиления, преобразования сигналов и иные. Это означает способность такого оборудования обрабатывать сигнал по специальным алгоритмам. В сетях происходит пакетная передача данных, каждый пакет данных содержит также техническую информацию: сведения о его источнике, цели, целостности информации и другие, позволяющие доставить пакет по назначению. Активное сетевое оборудование не только улавливает и передает сигнал, но и обрабатывает эту техническую информацию, перенаправляя и распределяя поступающие потоки в соответствии со встроенными в память устройства алгоритмами. Эта «интеллектуальная» особенность, наряду с питанием от сети, является признаком активного оборудования. Например, в состав активного оборудования включаются следующие типы приборов:

· сетевой адаптер — плата, которая вставляется в компьютер и обеспечивает его подсоединение к ЛВС

· репитер — прибор, как правило, с двумя портами, предназначенный для повторения сигнала с целью увеличения длины сетевого сегмента

· концентратор (активный хаб, многопортовый репитер) — прибор с 4-32 портами, применяемый для объединения пользователей в сеть

· мост — прибор с 2 портами, обычно используемый для объединения нескольких рабочих групп ЛВС, позволяет осуществлять фильтрацию сетевого трафика, разбирая сетевые (MAC) адреса

· коммутатор (свитч) — прибор с несколькими (4-32) портами, обычно используемый для объединения нескольких рабочих групп ЛВС (иначе называется многопортовый мост)

· маршрутизатор (роутер) — используется для объединения нескольких рабочих групп ЛВС, позволяет осуществлять фильтрацию сетевого трафика, разбирая сетевые (IP) адреса

· медиаконвертер — прибор, как правило, с двумя портами, обычно используемый для преобразования среды передачи данных (коаксиал-витая пара, витая пара-оптоволокно)

· сетевой трансивер — прибор, как правило, с двумя портами, обычно используемый для преобразования интерфейса передачи данных (RS232-V35, AUI-UTP).

Отметим, что некоторые специалисты не включают в состав активного оборудования повторитель (репитер) и концентратор (хаб), так как эти устройства просто повторяют сигнал для увеличения расстояния соединения или топологического разветвления и обработки его по каким либо алгоритмам не проводят. Но управляемые хабы и при этом подходе относятся к активному сетевому оборудованию, так как могут быть наделены некой «интеллектуальной особенностью».

Пассивное сетевое оборудование

пассивное оборудование, - оборудование, не получающее питание от электрической сети или других источников, и выполняющее функции распределения или снижения уровня сигналов. Например, кабельная система: кабель (коаксиальный и витая пара), вилка/розетка (RG58, RJ45, RJ11, GG45), патч-панель, балун для коаксиальных кабелей (RG-58) и т. д. Также, к пассивному оборудованию иногда относят оборудование трассы для кабелей: кабельные лотки, монтажные шкафы и стойки, телекоммуникационные шкафы.

 

  1. Элементная база ЭВМ. Общие принципы организации ЭВМ.

См вопр 20

  1. Адресная структура команд МП.

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

Типовая команда, в общем случае, должна указывать:

· подлежащую выполнению операцию;

· адреса исходных данных (операндов), над которыми выполняется операция;

· адрес, по которому должен быть помещен результат операции.

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

Для определения количества адресов, включаемых в адресную часть, используется термин адресность. В максимальном варианте необходимо указать три компонента: адрес первого операнда, адрес второго операнда и адрес результата операции. Такой формат команды называется трехадресным (рис. 54).

Рисунок 54 – Трехадресный формат команды

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

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

Рисунок 55 – Двухадресный формат команды

Длину команды можно сократить, если в качестве первого операнда использовать только регистры. Так как число регистров в МП невелико, для указания одного из них в команде достаточно иметь сравнительно короткое адресное поле. Соответствующий формат носит название полутора адресного или регистрового формата (рис. 56).

Рисунок 56 – Регистровый формат команды

Если выделить определенное стандартное место для хранения первого операнда и результата, то можно еще больше сократить команду, перейдя к одноадресному формату (рис. 57). Обычно для этой цели используется аккумулятор.

Рисунок 57 – Одноадресный формат команды

Если для обоих операндов выделяется четко заданное местоположение, а также в случае команд, не требующих операнда, используется безадресный (нуль адресный) формат команды (рис. 58).

Рисунок 58 – Безадресный формат команды

В таком варианте адресная часть команды вообще отсутствует или не задействуется.

 

  1. Виртуальная память и система прерываний.

Виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся оперативную память; для этого виртуальная память решает следующие задачи:

· размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске;

· перемещает по мере необходимости данные между запоминающими устройствами разного типа, например, подгружает нужную часть программы с диска в оперативную память;

· преобразует виртуальные адреса в физические.

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

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

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

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

При свопинге процесс перемещается между памятью и диском целиком, то есть в течение некоторого времени процесс может полностью отсутствовать в оперативной памяти.

2)Стратегия подкачки страниц.

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

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

При возникновении страничной ошибки система виртуальной памяти должна определить, в какое место физической памяти следует загрузить эту виртуальную страницу. Здесь начинает действовать стратегия размещения. В ОС Windows используется линейная архитектура памяти, поэтому если память не заполнена, диспетчер виртуальной памяти просто выбирает первый страничный фрейм из списка свободных страничных фреймов. Если этот список пуст, то диспетчер просматривает другие списки в заданном порядке.

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

3) Программная поддержка сегментной модели памяти компьютера.

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

Чаще всего виртуальная память процесса ОС разбивается на сегменты пяти типов: кода программы, данных, стека, разделяемый и сегмент файлов, отображаемых в память (см. рис. 10.5).

Сегмент программного кода содержит только команды. Обычно страницы данного сегмента имеют атрибут read-only. Следствием этого является возможность использования одного экземпляра кода для разных процессов.

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

Рис. 10.5. Образ процесса в памяти

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

Сегменты представляют собой непрерывные области в виртуальном адресном пространстве процесса, выровненные по границам страниц. Каждая область состоит из набора страниц с одним и тем же режимом защиты.

Два процесса могут общаться через разделяемую область памяти при условии, что им известно ее имя (пароль). Обычно это делается при помощи специальных вызовов (например, map и unmap), входящих в состав интерфейса виртуальной памяти. Загрузка исполняемого файла (системный вызов exec) осуществляется обычно через отображение (mapping) его частей (кода, данных) в соответствующие сегменты адресного пространства процесса.

4)Основы функционирования менеджера памяти. Корректная работа менеджера памяти помимо принципиальных вопросов, связанных с выбором абстрактной модели виртуальной памяти и ее аппаратной поддержкой, обеспечивается также множеством нюансов. В качестве примера такого рода компонента рассмотрим более подробно локализацию страниц в памяти, которая применяется в тех случаях, когда поддержка страничной системы приводит к необходимости разрешить определенным страницам, хранящим буферы ввода-вывода, другие важные данные и код, быть блокированными в памяти. Рассмотрим случай, когда система виртуальной памяти может вступить в конфликт с подсистемой ввода-вывода. Например, процесс может запросить ввод в буфер и ожидать его завершения. Управление передастся другому процессу, который может вызвать page fault и, с отличной от нуля вероятностью, спровоцировать выгрузку той страницы, куда должен быть осуществлен ввод первым процессом. Подобные ситуации нуждаются в дополнительном контроле. Одно из решений данной проблемы - вводить данные в не вытесняемый буфер в пространстве ядра, а затем копировать их в пользовательское пространство.

Второе решение - локализовать страницы в памяти, используя специальный бит локализации, входящий в состав атрибутов страницы. Локализованная страница замещению не подлежит.

Другим важным применением локализации является ее использование в системах мягкого реального времени. Вообщем говоря, виртуальная память - антитеза вычислений реального времени, так как дает непредсказуемые задержки при подкачке страниц. Поэтому системы реального времени почти не используют виртуальную память. Для решения проблемы page faults, Solaris разрешает процессам сообщать системе, какие страницы важны для процесса, и локализовать их в памяти. В результате возможно выполнение процесса, реализующего задачу реального времени, содержащего локализованные страницы, где временные задержки страничной системы будут минимизированы.

 

Принципы организации системы прерываний

Во время выполнения ЭВМ текущей программы внутри машины и в связанной с ней внешней среде (например, в технологическом процессе, управляемом ЭВМ) могут возникать события, требующие немедленной реакции на них со стороны машины.

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

Рассматриваемый процесс, называемый прерыванием программ, поясняется на рисунке 24.1.

Рисунок 24.1 – Прерывание программы

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

Каждое событие, требующее прерывания, сопровождается сигналом, оповещающим ЭВМ. Назовем эти сигналы запросами прерывания. Программу, затребованную запросом прерывания, назовем прерывающей программой, противопоставляя ее прерываемой программе, выполнявшейся машиной до появления запроса.

Запросы на прерывания могут возникать внутри самой ЭВМ и в ее внешней среде. К первым относятся, например, запросы при возникновении в ЭВМ таких событий, как появление ошибки в работе ее аппаратуры, переполнение разрядной сетки, попытка деления на 0, выход из установленной для данной программы области памяти, затребование периферийным устройством операции ввода-вывода, завершение операции ввода-вывода периферийным устройством или возникновение при этой операции особой ситуации и др. Хотя некоторые из указанных событий порождаются самой программой, моменты их появления, как правило, невозможно предусмотреть. Запросы во внешней среде могут возникать от других ЭВМ, от аварийных и некоторых других датчиков технологического процесса и т. п.

Запросы на прерывания могут возникать внутри самой ЭВМ и в ее внешней среде. К первым относятся, например, запросы при возникновении в ЭВМ таких событий, как появление ошибки в работе ее аппаратуры, переполнение разрядной сетки, попытка деления на 0, выход из установленной для данной программы области памяти, затребование периферийным устройством операции ввода-вывода, завершение операции ввода-вывода периферийным устройством или возникновение при этой операции особой ситуации и др. Хотя некоторые из указанных событий порождаются самой программой, моменты их появления, как правило, невозможно предусмотреть. Запросы во внешней среде могут возникать от других ЭВМ, от аварийных и некоторых других датчиков технологического процесса и т. п.

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

Чтобы ЭВМ могла, не требуя больших усилий от программиста, реализовывать с высоким быстродействием прерывания программ, машине необходимо придать соответствующие аппаратурные и программные средства, совокупность которых получила название системы прерывания программ или контроллера прерывания.

Основными функциями системы прерывания являются:

· запоминание состояния прерываемой программы и осуществление перехода к прерывающей программе;

· восстановление состояния прерванной программы и возврат к ней.

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

Назовем вектором прерывания вектор "начального состояния прерывающей программы. Вектор прерывания содержит всю необходимую информацию для перехода к прерывающей программе, в том числе ее начальный адрес. Каждому запросу (уровню) прерывания, а в ряде случаев, например в малых и микроЭВМ и микропроцессорах, каждому периферийному устройству соответствует свой вектор прерывания, способный инициировать выполнение соответствующей прерывающей программы. Векторы прерывания обычно находятся в специально выделенных фиксированных ячейках памяти.

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

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

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

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

Простейший способ установления приоритетных соотношений между запросами (уровнями) прерывания состоит в том, что приоритет определяется порядком присоединения линий сигналов запросов ко входам системы прерывания. При появлении нескольких запросов прерывания первым воспринимается запрос, поступивший на вход с меньшим номером. В этом случае приоритет является жестко фиксированным. Изменить приоритетные соотношения можно лишь пересоединением линий сигналов запросов на входах системы прерывания.

· внутренние аппаратные прерывания;

· внешние аппаратные прерывания;

· программные прерывания.

 

 

  1. Система команд МП. Понятие об ассемблере.

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

Микропроцессор имеет базовую систему команд, в состав которой входят следующие группы:

· команды пересылки данных:

· команды пересылки данных внутри МП (MOV, PUSH, POP, XCHNG и т.д.);

· команда ввода-вывода (IN, OUT);

· операции с флагами;

· операция с адресами (LEA, LDS и т.д.);

· арифметические команды:

· основные (сложение, вычитание, умножение, деление);

· дополнительные (INS, DEC и др.);

· логические команды (сдвиг, дизъюнкция, конъюнкция, отрицание равнозначности и др.);

· команды обработки строковых данных (пересылка, сравнение, сканирование, слияние/разделение и др.);

· команды передачи управления (безусловный переход, условный переход, прерывания, переход с возвратом);

· команды управления ("нет операций", "внешняя синхронизация" и т.д.).

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

Команды обращения к памяти

Команда: LOAD REGISTR (загрузка регистра)

Символическая форма: LDR r

Рисунок 1.7.4.

Описание: (М[< B2 > < B3 > ])r

Содержимое ячейки памяти передаётся в общий регистр r.

Старшие 8 разрядов адреса ячейки берутся из второго байта команды, а младше 8 разрядов - из третьёго байта.

 

Язы́к ассе́мблера (англ. assembly language) — машинно-ориентированный язык низкого уровня

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

Каждая модель (или семейство) процессоров имеет свой набор — систему — команд и соответствующий ему язык ассемблера

Набор команд ]

Типичными командами языка ассемблера являются (большинство примеров даны для Intel-синтаксиса архитектуры x86):

  • Команды пересылки данных (mov и др.)
  • Арифметические команды (add, sub, imul и др.)
  • Логические и побитовые операции (or, and, xor, shr и др.)
  • Команды управления ходом выполнения программы (jmp, loop, ret и др.)
  • Команды вызова прерываний (иногда относят к командам управления): int
  • Команды ввода-вывода в порты (in, out)
  • Для микроконтроллеров и микрокомпьютеров характерны также команды, выполняющие проверку и переход по условию, например:
    • cjne — перейти, если не равно
    • djnz — декрементировать, и если результат ненулевой, то перейти
    • cfsneq — сравнить, и если не равно, пропустить следующую команду

На языке ассемблера пишут программы или их фрагменты в тех случаях, когда критически важны:

  • быстродействие (драйверы, игры);
  • объём используемой памяти (загрузочные секторы, встраиваемое (англ. embedded) программное обеспечение, и тд).

С использованием программирования на языке ассемблера производятся:

· Оптимизация критичных к скорости участков программ в программах на языках высокого уровня, таких как C++ или Pascal.

· Создание операционных систем (ОС) или их компонентов. В настоящее время подавляющее большинство ОС пишут на более высокоуровневых языках.

· Программирование микроконтроллеров (МК) и других встраиваемых процессоров.

· Создание драйверов. Драйверы (или их некоторые программные модули) программируют на языке ассемблера. Хотя в настоящее время драйверы также стремятся писать на языках высокого уровня, подавляющая часть современных драйверов пишется на языке ассемблера. Надёжность для драйверов играет особую роль, поскольку в Windows NT и UNIX (в том числе в Linux) драйверы работают в режиме ядра системы.

· Создание антивирусов и других защитных программ.

· Написание трансляторов языков программирования.

Общий формат ассемблерной команды имеет следующий вид:



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 421; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.223.123 (0.087 с.)