Основы ассемблера

Во первых, ассемблер - это низкоуровневый язык программирования, который однозначно транслируется в систему команд микропроцессора.


Основы ассемблера -  история ассемблера.

Если проследить как изменялось представление программистов о языке ассемблера, с момента времени появления первых компьютеров и по настоящее время, можно подумать что ассемблер «выходит из моды». Однако, это далеко не так.
Ассемблер можно отнести к языкам второго поколения, если за первый принять машинный код. Двоичное представление команд компьютера называется машинным кодом. В 1948 году в Англии была запущена первая программа на компьютере. Вплоть до 1950 года все программы составлялись только в машинных кодах. Это было весьма трудоемко и сами программы получались очень громоздкими и, как следствие содержали большое количество ошибок. Это привело к тому, что для записи программ начали применять мнемонический язык – язык assembly. Ассемблер помог представить машкод в более удобной форме. Теперь для обозначения команд, а также объектов, над которыми эти команды выполнялись использовались комманды процессора (буквы или сокращенные слова) или набор команд процессора. Например, на языке ассемблера команда процессора сложения двух чисел обозначается словом add, тогда как ее машинный код может быть таким: 000010. Записывая программы на языке ассемблера мы фактически записываем их тем же машинным кодом, который  представленн с помощью специальных обозначений - набора команд процессора.


Таким образом, когда-то без знания ассемблера нельзя было «общаться» с компьютером. Но со временем появились более удобные средства для работы с компьютером и написания программ. Однако Ассемблер пользуется популярностью и по сей день. В настоящее время его обычно используют для написания отдельных фрагментов программ  и реже для написания самих программ. Так же этот язык пользуется большой популярностью у хакеров.


Основы ассемблера - понятия или основные определения ассемблера.

Команды процессора (комманды асемблера) – специальные обозначения (буквы или сокращенные слова) для  представление машинного кода в более удобной форме.

Команды процессора (Команды ассемблера) >>

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

Машинный код >>

Компиляция – трансляция или "перевод" исхдного кода программы, написанной на языке высокого уровня (C++, Delphi и другого), в программу на низкоуровневом языке (которая близка к машинному коду, обычно это абсолютный код или объектный модуль, реже язык ассемблер). Компиляторы можно скачать у нас на сайте.

Компиляторы >>

Декомпиляция — это процесс создания эквивалентного исходного кода программы (первоначальный код получить невозможно!) на языке высокого уровня из исполняемого модуля программы. Декомпиляция - это обратный процесс компиляции. 

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

Дизассемблеры >>

Интерпритируется – это покомандное выполнение исходного кода программы без предварительной компиляции. Иными словами интерпритация - это выполнение исходного кода программы, на "родном языке" процессора или микропрограмм вычислительной машины.

Регистры процессора – это определенный участок памяти в процессоре, обычно длиной от 8-ми до 64-х бит, который используется для промежуточного хранения информации, обрабатываемой процессором. Некоторые регистры содержат только определенную информацию.

Регистры процессора >>

Регистры флагов, или как их еще называют флаги процессора, или "флаги ассемблера" - это определенные участоки памяти в процессоре, обычно длиной от 8-ми до 64-х бит, которые используется для промежуточного хранения информации, обрабатываемой процессором. Некоторые регистры содержат только определенную информацию. Регистры флагов бывают:

1) регистр Флагов состояния (Флаг переноса CF - Carry Flag, Флаг паритета PF - Parity Flag, Флаг вспомогательного переноса AF - Auxiliary Flag, Флаг нуля ZF - Zero Flag, Флаг знака SF - Sign Rag, Флаг переполнения OF - Overflow Rag);

2) Ко второй группе "флагов ассемблера" относятся управляющие флаги (Регистр флага трассировки - ловушки TF - Trace Rag, Регистр флага направления DF - Direction Rag, Регистр флага разрешения прерываний IF - Interrupt Rag).

Регистры флагов >>


 

 

 

Другие новости



Счетчики





Яндекс.Метрика