Что такое инструкция в языках программирования

Далее вверх Предыдущая страница Содержание
Далее: Краткое изложение главы : Компьютеры, объекты и Java

Большинство компьютерных программ сегодня написаны на языке высокого уровня , таком как Java. Cили FORTRAN. Язык программирования считается высокоуровневым. Если его операторы напоминают операторы английского языка. Например, все только что упомянутые языки имеют некоторую форму оператора if. Который говорит: `если какое-то условие выполняется. То выполните какое-то действие

Компьютерные ученые изобрели сотни языков программирования высокого уровня. Хотя относительно немногие из них были применены на практике.

Некоторые из широко используемых языков имеют специальные функции. Которые делают их подходящими для того или иного типа приложений программирования. COBOL (COmmon Business-Oriented Language), например. До сих пор широко используется в коммерческих приложениях. FORTRAN (FORmula TRANslator) по-прежнему предпочитают некоторые инженеры и ученые. C и C++ по-прежнему являются основными языками. Используемыми системными программистами.

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

Например, арифметические операции в Java используют знакомые операторы. Такие как `+Итак. Чтобы взять среднее значение двух чисел. Вы можете использовать выражение

 (a + b) / 2 

Проблема в том. Что компьютеры не могут непосредственно понимать такие выражения. Для того, чтобы компьютер мог запустить программу . Программа должна быть сначала переведена на свой машинный язык , который представляет собой набор команд, понятный его процессору или микропроцессору. Каждый тип микропроцессора имеет свой собственный машинный язык. Вот почему обычно. Когда вы покупаете программное обеспечение. Оно работает либо на Macintosh. Который использует чип PowerPC. Либо на машине Windows. Которая использует чип Pentium. Но не на обоих.

Тот факт, что программа может работать только на одном типе чипа. Известен как зависимость от платформы .

В общем, машинные языки основаны на двоичном коде, двухзначной системе. Которая хорошо подходит для электронных устройств. В бинарной схеме представления все представлено в виде последовательности 1 и 0, что близко соответствует электронным состояниям компьютера `включеноНапример. Число 13 будет представлено как 1101.

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

Инструкции, составляющие машинный язык компьютера. Очень просты и просты. В большинстве случаев одна команда выполняет одну операцию машины. Например, типичный машинный язык может включать инструкции для СЛОЖЕНИЯ, ВЫЧИТАНИЯ. ДЕЛЕНИЯ и УМНОЖЕНИЯ. Но он не будет содержать инструкции для СРЕДНЕГО. Поэтому процесс усреднения двух чисел должен быть разбит на два или более шагов. Сама инструкция машинного языка может иметь что-то похожее на следующий формат. В котором за

кодом операции следует несколько операндов, которые относятся к расположениям в основной памяти компьютера. Следующая инструкция говорит. Что ДОБАВЬТЕ число в LOCATION1 к числу в LOCATION2 и сохраните результат в LOCATION3:

 

Рисунок: WWW: Браузер клиента запрашивает страницу с веб-сервера. Когда HTML — документ возвращается. Он интерпретируется и отображается браузером.
Код операции Операнд 1 Операнд 2 Операнд 3
011110 110110 111100 111101
(ДОБАВИТЬ) (МЕСТО 1) (МЕСТО 2) (МЕСТО 3)

Учитывая примитивную природу машинного языка, выражение, подобное приведенному выше (a + b)/2, должно было бы быть переведено в последовательность нескольких инструкций машинного языка. Которые в двоичном коде могли бы выглядеть следующим образом:

 011110110110111100111101 000101000100010001001101 001000010001010101111011 

В первые дни вычислений, до того. Как были разработаны языки высокого уровня. Компьютеры должны были быть запрограммированы непосредственно на их машинных языках. Чрезвычайно утомительный и подверженный ошибкам процесс. Представьте себе. Как трудно было бы обнаружить ошибку. Которая состояла в том. Чтобы поместить 0 в приведенную выше программу. Где должна произойти 1!

К счастью, нам больше не нужно беспокоиться о машинных языках. Потому что специальные программы могут быть использованы для перевода высокоуровневой программы или исходного кода  на машинный язык или объектный код . В общем случае программа. Переводящая исходный код в объектный. Называется транслятором  ([*]рис. Таким образом. С помощью подходящего программного обеспечения для перевода на Java или C++ мы можем писать программы так. Как если бы компьютер мог понимать Java или C++ напрямую.

  

Рисунок: Программа-переводчик переводит высокоуровневый исходный код в объектный код машинного языка.

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

У обоих подходов есть свои преимущества и недостатки. Интерпретируемые программы. Как правило. Работают менее эффективно. Чем скомпилированные программы. Потому что они должны переводить и выполнять каждую строку программы одновременно.

После компиляции объектная программа просто выполняется без необходимости дальнейшего перевода. Кроме того, гораздо проще оптимизировать скомпилированный код. Чтобы он работал более эффективно. Но интерпретаторы. Как правило. Легче писать и предоставлять несколько лучшие сообщения об ошибках. Когда что-то идет не так. Некоторые языки. Такие как BASIC. LISP и PERL в основном используются в интерпретируемой форме. Хотя компиляторы также доступны для этих языков.

Компилируются программы, написанные на языках COBOL, FORTRAN. C и PASCAL. Как мы увидим. В процессе перевода Java-программы используют как компиляцию. Так и интерпретацию.


Далее вверх Предыдущая страница Содержание
Далее: Краткое изложение главы : Компьютеры, объекты и Java

Ralph Morelli {Faculty}
6/25/1999