Студопедия

Главная страница Случайная лекция


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

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



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




Программирование на языке Ассемблера

Читайте также:
  1. XVI в. Составляются на старобелорусском языке и отличаются лаконизмом.
  2. Аналитическое программирование оборудования с ЧПУ: методы, примеры.
  3. Глава 4. Объектно-ориентированное программирование (ООП)
  4. Глава I. Линейное программирование.
  5. Лекция 10. Смена парадигмы в науке о языке. Понятие о лингвоантропологии
  6. Лекция 6. Активные процессы освоения иноязычных слов в современном русском языке
  7. Линейное программирование.
  8. Обучение монологической речи на иностранном языке
  9. Обучение письму и письменной речи на иностранном языке
  10. Оценка в языке и эмоционально-оценочная окраска

Лекция 2. Ассемблеры

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

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

Программирование на языке Ассемблера позволяет в максималь­ной степени использовать особенности архитектуры вычислительной системы. До недавнего времени воспринималась как аксиома, что ассем­блерная программа всегда является более эффективной и в смысле быс­тродействия, и в смысле требований к памяти. Для Intel-архитектуры это и сейчас так.

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

Доля программ, которые пишутся на языках Ассемблеров в мире, неуклонно уменьшается, прикладное программирование на языках Ас­семблеров применяется только по недомыслию. Язык Ассемблера «в чи­стом виде» применяется только для написания отдельных небольших частей системного ПО: микроядра ОС, самых нижних уровней драйверов — тех частей, которые непосредственно взаимодействуют с реальными аппаратными компонентами.

Этим занимается узкий круг программистов, работающих в фир­мах, производящих аппаратуру и ОС. Зачем же нам тогда изучать, постpoение Ассемблера?

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

Для управления таким устройством для него может быть, создан соответствующий язык команд. (Широко известные примеры: MI AS/400, JVM.) Говоря шире, любую программу можно представить себе как виртуальное «железо», решающее конкретную задачу. (Конечный пользователь обычно не видит разницы между программой и аппарату­рой и часто говорит не «мне программа выдала то-то», а «мне компьютер выдал то-то»). В некоторых случаях интерфейс программы удобно представить в виде системы команд, а следовательно, нужен соответствующий Ассемблер. (Это, конечно, относится не к программам «для чай­ников», а к инструментальным средствам программистов, системам мо­делирования).


<== предыдущая страница | следующая страница ==>
Этапы подготовки программы | Предложения языка Ассемблера

Дата добавления: 2014-03-11; просмотров: 426; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.002 сек.