Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 131000.doc
Скачиваний:
129
Добавлен:
22.05.2015
Размер:
1.47 Mб
Скачать

2.1 Машинные языки

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

Машинный код - последовательность чисел, которые представляются как совокупность двух цифр: 0 и 1.

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

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

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

2.2 Машинно-ориентированные языки

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

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

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

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

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

Их особенности.

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

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

2.3 Языки высокого уровня

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

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

  • алфавит языка значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;

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

  • конструкции команд (операторов) отражают содержательные виды обработки данных и задаются в удобном для человека виде;

  • используется аппарат переменных и действия с ними;

  • поддерживается широкий набор типов данных.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]