Логотип Автор24реферат
Задать вопрос
Реферат на тему: Ассемблер - переводчик исходного кода написанной программы на языке ассемблера в программу на машинном языке
32%
Уникальность
Аа
12688 символов
Категория
Информатика
Реферат

Ассемблер - переводчик исходного кода написанной программы на языке ассемблера в программу на машинном языке

Ассемблер - переводчик исходного кода написанной программы на языке ассемблера в программу на машинном языке .doc

Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод Эмоджи на новый заказ в Автор24. Это бесплатно.

У первых программистов почти всегда были записные книжки с записями наиболее часто используемых подпрограмм, чтобы они не перекомпилировались при необходимости. Проблема заключалась в том, что адреса позиций инструкций и переменных подпрограммы в памяти менялись в зависимости от ее положения в последней. Настройка подпрограмм для определенного местоположения, очевидно, требовала автоматизации, и это было сделано впервые в Edsak. Программисты Кембриджа начали писать набор унифицированных процедур, составляющих библиотеку. После этого достаточно было ввести только короткую команду - и компьютер выполнил всю работу по настройке и размещению подпрограммы внутри программы. Морис Уилкс назвал мнемоническую схему Эдсака и библиотеку подпрограмм системой сбора (отсюда и слово «ассемблер»), поскольку она собирала последовательности подпрограмм.
Ассемблер – переводчик исходного кода написанной программы на языке ассемблера в программу на машинном языке.
Ассемблеры, как и сам язык, обычно специфичны для конкретной архитектуры, операционной системы и языкового варианта. В то же время существуют кроссплатформенные или даже универсальные ассемблеры, которые могут работать на разных платформах и операционных системах. Среди последних можно также выделить группу кросс-ассемблеров, способных компилировать машинный код и исполняемые модули (файлы) для других архитектур и операционных систем.
Язык Assembler — низкоуровневый язык программирования, то есть близкий к программированию напрямую в машинных кодах реального или виртуального процессора. Язык Assembler один из самых общеизвестных языков. Также существует машинный код, который составляется из 0 и 1 и CIL, который является как бы улучшенной версией Assembler. Компиляторы, которые включены в Assembler - MASM, TASM, NASM, FASM, GoASM, Gas, RosAsm, HLA.
Ассемблирование. Процесс перевода программы на языке ассемблера в объектный код называется ассемблированием. В отличие от компиляции, ассемблирование является более или менее однозначным и обратимым процессом. Язык ассемблера каждой мнемоники соответствует машинной инструкции, тогда как в языках программирования высокого уровня большое количество различных инструкций может быть скрыто за каждым выражением. В принципе, это разделение совершенно произвольно; поэтому иногда перевод программ на ассемблере также называется компиляцией.
Команды языка ассемблера один к одному соответствуют командам процессора. Фактически, они и представляют собой более удобную для человека символьную форму записи — мнемокоды — команд и их аргументов. При этом одной команде языка ассемблера может соответствовать несколько вариантов команд процессора
Достоинства и недостатки языка Assembler:
Достоинства:
Доступ к регистрам процессора. Регистры представляют собой особые участки памяти процессора, превосходящие по скорости доступа оперативную память.
Минимальная избыточность кода (использование меньшего количества команд и обращений в память). Как следствие ‒большая скорость и меньший размер программы.
Возможность метапрограммирования.
Достижение максимальной совместимости для требуемой
платформы.
Непосредственный доступ к аппаратуре: портам ввода-
вывода, особым регистрам процессора.
Недостатки:
Зачастую большой объем кода (особенно для сложных и оконных приложений).
Трудность реализации различных парадигм программирования, сложность совместной разработки.
Малое количество доступных библиотек.
Изучение Assembler в настоящее время не так актуально, но есть немного причин, по которым стоит его изучить

Зарегистрируйся, чтобы продолжить изучение работы

.
В образовательных целях на примере Assembler можно узнать, как работают микропроцессоры и компиляторы на уровне машинных инструкций
Управление и разработка драйверов происходит на этом низкоуровневом языке
Вызов инструкций, которые недоступны в языках высокого уровня
Оптимизация кода по размеру и по скорости. Так как низкоуровневые языки программирования обращаются напрямую к процессору, то и скорость будет выше и размер правильный.
Библиотеки для высокоуровневого языка. Обращение к ним делают код довольно оптимизируемым.
Область применения и роль языка Assembler:
На ассемблере пишутся драйверы и ядра операционных систем.
Его используют для «прошивки» BIOS.
На ассемблере пишут компиляторы и интерпретаторы языков высокого уровня.
Он эффективен для написания вирусов и используется при взломе программ.
На нём обычно пишутся программы бытовых устройств
Виртуализация аппаратного обеспечения
Язык Си относят, как к высокоуровневым языкам, так и к низкоуровневым. Его также сравнивают с языком Assembler. Ниже приведена таблица сравнения этих двух языков.
Таблица 1 – Сравнение языков Си и Assembler
Assembler Си
Понятность и отладка Очень просто, так как программирование контроллера неотделимо от процессора (+) Глюки выявляются очень сложно и не всегда понятно откуда они и где находятся (-)
Обучаемость Несколько дней, достаточно иметь систему команд. (+) Сложно, на обучение может уйти месяцы или годы (-)
Трудоёмкость Высокая (-) Низкая (+)
Переносимость с контроллера на контроллер Сложно. Большая вероятность ошибок (-) Просто (+)
В итоге. Assembler служит хорошим началом, чтобы изучать высокоуровневые языки программирования, поэтому, как итог, лучше начинать с языка Assembler, а затем использовать Си или другие языки для воплощения более глобальных реализаций.
Среда разработки для языка программирования Assembler – это MASM32 по стандарту. Выглядит эта программа примерно так, как показано на рисунке ниже: (Рис.1).
Рисунок 1 – Начальная страница программы «MASM32»
Компилятор – программа, выполняющая преобразование файла с исходным кодом программы в исполняемый файл. В языке программирования Assembler существуют несколько компиляторов, как говорилось ранее.
Рассмотрим каждый из них:
Turbo Assembler (TASM) - это продукт Borland для разработки программ на ассемблере для архитектуры x86. Кроме того, TASM может работать с переводчиками с языков высокого уровня Borland, таких как Turbo C и Turbo Pascal..
TASM до сих пор используется для обучения программированию на ассемблере в MS-DOS. Многие считают очень удобным продолжать использование, расширяясь набором дополнительных макросов.
TASM может работать в режиме совместимости Macro Asembler (MASM). Кроме того, TASM имеет собственный режим IDEAL, который улучшает синтаксис языка и расширяет его функциональные возможности. Как и другие пакеты серии Turbo, TASM больше официально не поддерживается, поэтому он считается «умирающим» языком»

50% реферата недоступно для прочтения

Закажи написание реферата по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!

Промокод действует 7 дней 🔥
Больше рефератов по информатике:

Переход на зимнее время

19427 символов
Информатика
Реферат
Уникальность

Системный анализ методов обработки изобразительной информации

24290 символов
Информатика
Реферат
Уникальность

Искусственный интеллект. Основные понятия

14590 символов
Информатика
Реферат
Уникальность
Все Рефераты по информатике
Закажи реферат

Наш проект является банком работ по всем школьным и студенческим предметам. Если вы не хотите тратить время на написание работ по ненужным предметам или ищете шаблон для своей работы — он есть у нас.