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

Лекция №5 Языки программирования высокого уровня

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

Способы перевода программ в машинные коды.

Созданную на некотором языке программу можно перевести в машинный код с помощью специальных программ двумя способами:

I. Интерпретация строк программ

II. Трансляция программы Интерпретаторы

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

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

Компилятор

Компилятор – это транслятор текста программы в машинный язык, то есть в коды команд. Компилятор считывает программу написанную на языке программирования и в соответствии с синтаксическими правилами этого языка переводить программы этого языка в машинные коды. Здесь учитываются особенности компьютера и применённые в данном случае способы адресации.

К од оператора Адрес I АдресII

MOV R1 R5

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

MOV R1 R5

01 11 15

0 001  001  001 001 101

То транслятор увидит, что сочетанию символов MOV производится операция по пересылке данных от операнта и источника I в опреант приёмник II. При переводе такой команды в машинные коды транслятор найдёт в таблице код операции 01 это в восьмеричном виде и поставит его в команду. По форме записи R1, R5 транслятор узнаёт, что применяется регистровая адресация при которой оперант находится в указанном регистре. По таблице адресации будет найдено, что регистровая адресация кодируется цифрой 1 в восьмеричной и к этому коду адресации будет добавлен номер регистра источника и номер регистра приёмника. Регистр источника – это R1, а регистр приёмника – R5. Таким образом мы получили 6 разрядный восьмеричный код команды, который перенесёт данные из R1 в R5. Чтобы получить двоичный код команды необходимо перейти от восьмеричного изображения чисел в двоичную. Для предоставления каждой восьмеричной цифры необходимо использовать 3 двоичных разряда. В данном случае мы получили двоичный код команды.

Пусть содержимое регистров:

ДО ВЫПОЛНЕНИЯ

ПОСЛЕ ВЫПОЛНЕНИЯ

R0

000000

000000

R1

0 00001

000001

R2

000002

000002

R3

177777

177777

R4

166667

166667

R5

123456

000001

R6

013460

013460

Содержимое регистра источника R1 не меняется и данные содержащиеся в R1 будет перенесена в R5.

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