Assembler va tarjimon oʻrtasidagi farq

Assembler va tarjimon oʻrtasidagi farq
Assembler va tarjimon oʻrtasidagi farq

Video: Assembler va tarjimon oʻrtasidagi farq

Video: Assembler va tarjimon oʻrtasidagi farq
Video: BTS 'Permission To Dance [PTD]' UZB SUB with ENG SUB 2024, Noyabr
Anonim

Assembler va tarjimon

Umuman olganda, kompilyator - bu bir tilda yozilgan dasturni o'qiydigan va uni manba til deb ataladigan boshqa tilga tarjima qiladigan kompyuter dasturi. An'anaga ko'ra, manba til C++ kabi yuqori darajadagi tildir va maqsadli til Assembly tili kabi past darajadagi tildir. Biroq, Assembly tilida yozilgan dastlabki dasturni o'zgartiradigan va uni mashina kodiga yoki ob'ekt kodiga aylantira oladigan kompilyatorlar mavjud. Yig'uvchilar shunday vositalardir. Boshqa tomondan, tarjimonlar ba'zi dasturlash tillarida yozilgan ko'rsatmalarni bajaradigan vositalardir. Tarjimon yuqori darajadagi manba kodini to‘g‘ridan-to‘g‘ri bajarishi yoki ularni oraliq kodga tarjima qilishi va keyin uni sharhlashi yoki oldindan kompilyatsiya qilingan kodni bajarishi mumkin.

Assembler nima?

Assembler - bu Assembly tilini mashina kodiga o'tkazuvchi dastur yoki vosita. Demak, assembler kompilyatorning bir turi bo'lib, manba kodi Assembly tilida yozilgan. Assambleya - bu inson o'qishi mumkin bo'lgan til, lekin u odatda mos keladigan mashina kodi bilan birma-bir aloqaga ega. Shuning uchun assembler izomorf (birga bir xaritalash) tarjimani amalga oshiradi, deyiladi. Murakkab assemblerlar dasturni ishlab chiqish va disk raskadrovka jarayonlarini qo'llab-quvvatlaydigan qo'shimcha funktsiyalarni taqdim etadi. Masalan, makro assemblerlar deb ataladigan assemblerlar turi makro moslamani ta'minlaydi.

Tarjimon nima?

Tarjimon kompyuter dasturi yoki dasturlash koʻrsatmalarini bajaradigan vositadir. Tarjimon manba kodini to'g'ridan-to'g'ri bajarishi yoki manbani oraliq kodga aylantirishi va uni to'g'ridan-to'g'ri bajarishi yoki kompilyator tomonidan ishlab chiqarilgan oldindan tuzilgan kodni bajarishi mumkin (ba'zi tarjimon tizimlari ushbu vazifa uchun kompilyatorni o'z ichiga oladi). Perl, Python, MATLAB va Ruby kabi tillar oraliq kodni ishlatadigan dasturlash tillariga misoldir. UCSD Paskal oldindan kompilyatsiya qilingan kodni sharhlaydi. Java, BASIC va Samlltalk kabi tillar avval manbani bayt kod deb nomlangan oraliq kodga kompilyatsiya qiladi va keyin uni sharhlaydi.

Assembler va tarjimon oʻrtasidagi farq nima?

Assemblerni kompilyatorning maxsus turi deb hisoblash mumkin, u faqat Assembly tilini mashina kodiga tarjima qiladi. Tarjimonlar - bu ba'zi tillarda yozilgan ko'rsatmalarni bajaradigan vositalar. Tarjimon tizimlar tarjima qilishdan oldin kodni oldindan kompilyatsiya qilish uchun kompilyatorni o'z ichiga olishi mumkin, ammo tarjimonni kompilyatorning maxsus turi deb atash mumkin emas. Assemblerlar ob'ekt kodini ishlab chiqaradilar, uni mashinada ishlash uchun bog'lovchi dasturlar yordamida bog'lash kerak bo'lishi mumkin, ammo ko'pchilik tarjimonlar dasturni o'zlari bajarishlari mumkin. Assembler odatda birma-bir tarjima qiladi, lekin bu ko'pchilik tarjimonlar uchun to'g'ri kelmaydi. Assembler tilida mashina kodi bilan birma-bir xaritalash mavjud bo'lganligi sababli, assembler ishlashi juda muhim bo'lgan holatlar uchun juda samarali ishlaydigan kod ishlab chiqarish uchun ishlatilishi mumkin (masalan, grafik dvigatellar, shaxsiy kompyuterga nisbatan cheklangan apparat resurslariga ega bo'lgan o'rnatilgan tizimlar uchun) mikroto'lqinli pechlar, kir yuvish mashinalari va boshqalar). Boshqa tomondan, tarjimonlar sizga yuqori portativlik kerak bo'lganda foydalaniladi. Masalan, bir xil Java baytekodini tegishli tarjimon (JVM) yordamida turli platformalarda ishga tushirish mumkin.

Tavsiya: