Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
10.05.2015
Размер:
238.59 Кб
Скачать

Форматы команд машинного языка

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

Примеры:

INC x - одноадресная команда с одним операндом (INCrement, добавить к операнду 1 и сохранить результат по тому же адресу);

ADD x, у, z - трехадресная команда (сложить х и у и поместить результат в z).

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

Примечание! Шире всего стековая архитектура распространена в байт-кодах или, как это еще называют, системах команд виртуальных машин. Байт-код - это промежуточное представление программы, используемое интерпретатором, чтобы избежать лексического и синтаксического анализа программы на этапе исполнения. Исполнение байт-кода осуществляется не процессором, а программой-интерпретатором. Таким образом, реализуются многие современные языки программирования — многочисленные диалекты языка BASIC, Lisp, SmallTalk, Fort (этот язык любопытен тем, что сам имеет стековый синтаксис), наконец Java. Например, компиляция с помощью виртуальной Java-машины позволяет исполнять один и тот же код на разнообразных процессорах без потерь (или почти без потерь) скорости.

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

2.1. Алгоритмические языки (algorithmic language) – языки аппаратно-независимые и отражающие структуру алгоритма (первые версии таких языков как Паскаль (Pascal), Бейсик (Basic), Си (C), Фортран (Fortran) и др.).

2.2. Процедурно-ориентированные языки (procedure-oriented language) – языки программирования, реализующие структурное программирование (Турбо Паскаль 3.0, 4.0, 5.0, 5.5, Бейсик, Си, Си +, Фортран, Connex Script (для Mat LAB) и др.).

2.3. Объектно-ориентированные языки (языки, поддерживающие объектно-ориентированное программирование Турбо Паскаль 6.0, 7.0, Объектный Паскаль (Object Pascal) для Delphi, Бейсик, объектно-ориентированный язык Ява (Java) и др.)

2.4. Проблемно-ориентированные языки (universal programming language) – языки программирования для решения задач определенного типа (язык символьной математики MathCAD , язык Гипертекстовой разметки документа (html, xml), СИМУЛА, язык обработки списков (символьный язык) – Lisp, (используется для логического моделирования), объектно-ориентированные языки, используемые для логического моделирования - CLIPS, PROLOG, алгоритмический язык Ada (используется в авиа-моделировании) и др.)

2.5. Реляционные языки – предназначены главным образом для систем управления базами данных СУБД (системы управления базами данных - dBASE, Paradox, FoxPro, Clipper и др.). Такие языки бывают трех типов:

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

  • SQL – языки запросов, реализованы в большинстве многопользовательских и распределенных СУБД;

  • графические реляционные языки, ориентированные на конечных пользователей.

Все программы, подготовленные на языке программирования (кроме языков самого низкого уровня – машинных кодов) преобразуются с помощью компиляторов (компилятор транслирует программу без ее выполнения) или интерпретаторов (интерпретатор обеспечивает пооператорную трансляцию программы и ее выполнение) в объектный код, который с помощью редактора связей преобразуется в загрузочный модуль (исполняемую программу). Данное преобразование обеспечивают системы (среды) программирования.

Исходный код программы на

алгоритмическом

языке

Pascal

Транслятор

(Компилятор)

Объектный

код на машинном

языке

Редактор

связей

Загрузочный

модуль

(готовая

программа)

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

  1. «Простые», в состав которых входит компилятор, редактор связей и текстовый редактор. Представлены ранними версиями Турбо Паскаля до 3.0, Бейсика, Си, Фортраном и др.

  2. Интегрированные среды программирования. Включают кроме компилятора, редактора связей и редакторов кода: отладчик, библиотеки функций, процедур, модулей, программ, средства оптимизации кода программ, средства поддержки программ, справочные системы и пр. Представлены Турбо Паскаль 4.0 – 7.0, Бейсиком, редакторами языков Си и др.

  3. Визуальные средства создания приложений. Кроме средств упомянутых выше включают в себя: конструкторы форм и отчетов, меню, генераторы приложений, библиотеки объектов и методов обработки, программные модули вставки, языки манипулирования данными, переводчики языков. Представлены различными версиями программных продуктов фирмы Borland (для разработки приложений для Windows – Delphi, C++, C++ Builder, для разработки приложений предназначенных для работы в сети Internet на языке Java - IntraBuilder, Visual dBASE для визуальной разработки приложений баз данных), версиями программных продуктов фирмы Microsoft (для разработки приложений для Windows, а также для прикладных программ в среде Microsoft Office - Visual Basic, Visual Basic for Application, для визуальной разработки приложений баз данных MS Access), Mat LAB (фирмы MathWork) , MathCAD (фирмы MathSoft), и др.

Соседние файлы в папке Информатика_ 1 семестр