Ассемблер мен компилятордың айырмашылығы

Ассемблер мен компилятордың айырмашылығы
Ассемблер мен компилятордың айырмашылығы

Бейне: Ассемблер мен компилятордың айырмашылығы

Бейне: Ассемблер мен компилятордың айырмашылығы
Бейне: MEN IN ASMR - The Epic Collab! (Featuring Friends) 2024, Шілде
Anonim

Ассемблер және компилятор

Жалпы алғанда, компилятор – бастапқы тіл деп аталатын бір тілде жазылған бағдарламаны оқып, оны басқа тілге аударатын, аударма тілі деп аталатын компьютерлік бағдарлама. Дәстүрлі түрде бастапқы тіл C++ сияқты жоғары деңгейлі тіл болды, ал мақсатты тіл Ассамблея тілі сияқты төмен деңгейлі тіл болды. Дегенмен, Ассамблея тілінде жазылған бастапқы бағдарламаны түрлендіретін және оны машиналық кодқа немесе объектілік кодқа түрлендіретін компиляторлар бар. Құрастырушылар осындай құралдар. Осылайша, ассемблер де, компиляторлар да, сайып келгенде, машинада тікелей орындалатын кодты шығарады.

Компилятор дегеніміз не?

Компилятор – бастапқы тіл деп аталатын бір тілде жазылған бағдарламаны оқитын және оны басқа тілге аударатын, аударма тілі деп аталатын компьютерлік бағдарлама. Көбінесе бастапқы тіл – жоғары деңгейлі тіл, ал аударма тілі – төмен деңгейлі тіл. Сонымен, жалпы компиляторларды бір тілден екінші тілге аударатын аудармашылар ретінде қарастыруға болады. Сонымен қатар, компиляторлар кодқа кейбір оңтайландыруларды орындайды. Типтік компилятор бірнеше негізгі компоненттерден тұрады. Бірінші компонент - сканер (сонымен қатар лексикалық анализатор деп те аталады). Сканер бағдарламаны оқиды және оны белгілер жолына түрлендіреді. Екінші компонент - талдаушы. Ол таңбалауыштар жолын бағдарламаның синтаксистік құрылымын түсіретін талдау ағашына (немесе дерексіз синтаксис ағашына) түрлендіреді. Келесі компонент - синтаксистік құрылымның семантикасын түсіндіретін семантикалық процедуралар. Кодты оңтайландыру және соңғы кодты жасау осыдан кейін жүреді.

Ассемблер дегеніміз не?

Assembler - Ассамблея тілін машиналық кодқа аударатын бағдарламалық құрал немесе құрал. Сонымен, ассемблер - компилятордың бір түрі және бастапқы код Ассамблея тілінде жазылады. Ассамблея - бұл адам оқи алатын тіл, бірақ ол әдетте сәйкес машиналық кодпен бір-біріне қатынасы бар. Сондықтан ассемблер изоморфты (бірден-бірге салыстыру) аударманы орындайды деп аталады. Жетілдірілген ассемблерлер бағдарламаны әзірлеу және жөндеу процестерін қолдайтын қосымша мүмкіндіктерді қамтамасыз етеді. Мысалы, макро ассемблер деп аталатын ассемблер түрі макроқұрылымды қамтамасыз етеді.

Ассемблер мен компилятордың айырмашылығы неде?

Компилятор – бұл бір тілде жазылған бағдарламаны оқитын және оны басқа тілге аударатын компьютерлік бағдарлама, ал ассемблер тек Ассемблер тілін машиналық кодқа аударатын компилятордың ерекше түрі деп санауға болады. Компиляторлар әдетте машинаның орындалатын кодын тікелей жоғары деңгейлі тілден шығарады, бірақ ассемблерлер машинада жұмыс істеу үшін байланыстырушы бағдарламалар арқылы байланыстыру қажет болуы мүмкін объект кодын шығарады. Ассемблер тілінде машиналық кодпен бір-бір салыстыру болғандықтан, ассемблер өнімділігі өте маңызды жағдайларда (мысалы, графикалық қозғалтқыштар, дербес компьютермен салыстырғанда шектеулі аппараттық ресурстары бар ендірілген жүйелер үшін) өте тиімді жұмыс істейтін кодты шығару үшін пайдаланылуы мүмкін. микротолқынды пештер, кір жуғыш машиналар, т.б.).

Ұсынылған: