PISYA

PISYA


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

Верхний уровень – легкие и новые языки с ограниченным функционалом.
Примеры: JS, C#, Ruby, Python, SQL.

Скрин JSа


Нижний уровень – старые языки с доступом ко всем ресурсам компьютера. Примеры: ассемблер, Cil.


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

Мы будем изучать ассемблер, потому что он популярней и универсальней CIlа.
Описание и примеры CILа можно прочититать на Хабре.


Ассемблер – программа переовда языка в двоичный или шестнадцатиричный код и трансляции в процессор.

Ассемблер – программа переовда языка в машинный или же в двоичный код.

Для операций в ассемблере отведены специальные регистры, их всего 8:
AX – такой то для того то
BX –
....
...

Сюда вот пример ассемблера с комментариями)


Языку ассемблера доступны все регистры и команды компьютера. Например, на языке ассемблера можно проверить бит переполнения в регистре, а на Java или python нет.

Работа программы на разных ОС зависит от вида ассемблера на котором она написана. Ниже, поддержка ОСками разных видов ассемблера.

X – диалект совместим с ОС

Программы на ассемблере пишут по двум причинам

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

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



Report Page