Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 10 июня 2021 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Карибов Я.А., Зинченко К.А. МАШИННЫЙ ЯЗЫК И ЯЗЫК АССЕМБЛЕРА ИСТОРИЯ И ВЗАИМОСВЯЗЬ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. CII междунар. студ. науч.-практ. конф. № 6(101). URL: https://sibac.info/archive/technic/6(101).pdf (дата обращения: 27.12.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

МАШИННЫЙ ЯЗЫК И ЯЗЫК АССЕМБЛЕРА ИСТОРИЯ И ВЗАИМОСВЯЗЬ

Карибов Янис Андреевич

студент, Институт прикладной информатики, математики и физики, Армавирский государственный педагогический университет,

РФ, г. Армавир

Зинченко Кирилл Алексеевич

студент, Институт прикладной информатики, математики и физики, Армавирский государственный педагогический университет,

РФ, г. Армавир

Лоба Инна Сергеевна

научный руководитель,

старший преподаватель, Армавирский государственный педагогический университет,

РФ, г. Армавир

MACHINE LANGUAGE AND ASSEMBLY LANGUAGE HISTORY AND INTERCONNECTION

 

Yanis Karibov

student, institute PIMiF, Armavir State Pedagogical University,

Russia, Armavir

Kirill Zinchenko

student, institute PIMiF, Armavir State Pedagogical University,

Russia, Armavir

Inna Loba

scientific advisor, teacher, Armavir State Pedagogical University,

Russia, Armavir

 

АННОТАЦИЯ

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

ABSTRACT

This article tells about the Assembly language, its history of variety, the need and its relationship with machine code, the history of the emergence of the language and why it is so necessary. In what tasks it is used and what is written on it.

 

Ключевые слова: ассемблер; машинный код; программа.

Keywords: assembler; machine code; program.

 

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

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

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

Существуют языки высокого уровня — в которых присутствуют print, if, function и тому подобное. Язык высокого уровня это означает, что для общения с компьютером вы используете более или менее понятный человеку язык. Возможно, что другой человек и не поймет ваш код, но хотя бы слова он сможет прочесть.

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

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

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

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

  • Языки высокого уровня
  • Языки низкого уровня
  • Машинный язык

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

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

Морис Уилкс назвал мнемоническую схему для «Эдсака» и библиотеку подпрограмм собирающей системой (по-английски assembly system – отсюда слово «ассемблер»), поскольку она собирала последовательности подпрограмм.

В 1948 году была выпущена первая, написанная на машинных кодах, компьютерная программа разработана она была в Англии.В плоть до1950 года компьютерные программы были написаны на машинном коде.Данный способ написания программы являлся очень труда затратным, весь процесс написания кода необходимо было разбивать на элементарные действия которые, соответствовали командам процессора. Из-за этого нагромождённость программ и их сложность были колоссальными. Что вызывало большое количество ошибок, для устранения которых было необходимо большое количество времени. Ассемблер используют для написания программ, в которых важны быстродействие и объём памяти.

Машинный код – система команд конкретной вычислительной машины (процессора), которая интерпретируется непосредственно процессором. Команда, как правило, представляет собой целое число, которое записывается в регистр процессора. Процессор читает это число и выполняет операцию, которая соответствует этой команде. Язык программирования низкого уровня (низкоуровневый язык программирования) – это язык программирования, максимально приближённый к программированию в машинных кодах. В отличие от машинных кодов, в языке низкого уровня каждой команде соответствует не число, а сокращённое название команды (мнемоника). Например, команда ADD – это сокращение от слова ADDITION (сложение). Поэтому использование языка низкого уровня существенно упрощает написание и чтение программ (по сравнению с программированием в машинных кодах). Язык низкого уровня привязан к конкретному процессору. Например, если вы написали программу на языке низкого уровня для процессора PIC, то можете быть уверены, что она не будет работать с процессором AVR.

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

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

 

Список литературы:

  1. Калашников, О. Ассемблер? Это просто! Учимся программировать (+ CD-ROM) / О. Калашников. - М.: СПб: БХВ, 2006. - 384 c.
  2. Лин, В. PDP-11 и VAX-11. Архитектура ЭВМ и программирование на языке ассемблера / В. Лин. - М.: Радио и связь, 1989. - 320 c.
  3. Майко, Г.В. Assembler для IBM PC / Г.В. Майко. - М.: Бизнес-Информ, 1997. - 212 c.
  4. Сибеста Структурное программирование на языке ассемблера ЭВМ VAX-11 / Сибеста, Р. - М.: Мир, 1988. - 536 c.
  5. Скэнлон, Л. Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера / Л. Скэнлон. - М.: Радио и связь, 1989. - 336 c.
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий