MOV R1 R5

MOV R1 R5

Компилятор

Интерпретаторы

Трансляция программы

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

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

Языки программирования высокого уровня

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

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

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

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

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

Код операции Адрес I АдресII

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

01 11 15

0 001 001 001 001 101

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: