Логотип Автор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 дней 🔥
Больше рефератов по информатике:

Компьютерная вирусология

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

Электронные денежные средства на примере криптовалюты "Биткоин"

18641 символов
Информатика
Реферат
Уникальность
Все Рефераты по информатике
Сдавай сессию с AI-помощником и готовыми решениями задач
Подписка Кампус откроет доступ в мир беззаботных студентов