სხვაობა ასამბლერსა და თარჯიმანს შორის

სხვაობა ასამბლერსა და თარჯიმანს შორის
სხვაობა ასამბლერსა და თარჯიმანს შორის

ვიდეო: სხვაობა ასამბლერსა და თარჯიმანს შორის

ვიდეო: სხვაობა ასამბლერსა და თარჯიმანს შორის
ვიდეო: კუჭის წყლული და თორმეტგოჯა ნაწლავის წყლული. პეპტიური წლულოვანი დაავადება 2024, ნოემბერი
Anonim

ასემბლერი vs თარჯიმანი

ზოგადად, კომპილერი არის კომპიუტერული პროგრამა, რომელიც კითხულობს ერთ ენაზე დაწერილ პროგრამას, რომელსაც ეწოდება საწყისი ენა, და თარგმნის მას სხვა ენაზე, რომელსაც ეწოდება სამიზნე ენა. ტრადიციულად, საწყისი ენა არის მაღალი დონის ენა, როგორიცაა C++ და სამიზნე ენა არის დაბალი დონის ენა, როგორიცაა ასამბლეის ენა. თუმცა, არსებობენ შემდგენელები, რომლებსაც შეუძლიათ ასამბლეის ენაზე დაწერილი წყაროს პროგრამის გარდაქმნა და მანქანის კოდში ან ობიექტის კოდში გადაყვანა. ასამბლერები ასეთი ინსტრუმენტებია. მეორეს მხრივ, თარჯიმნები არის ინსტრუმენტები, რომლებიც ასრულებენ პროგრამირების ზოგიერთ ენაზე დაწერილ ინსტრუქციებს.თარჯიმანს შეუძლია ან პირდაპირ შეასრულოს მაღალი დონის წყაროს კოდი, ან თარგმნოს ისინი შუალედურ კოდზე და შემდეგ მისი ინტერპრეტაცია ან წინასწარ კომპილირებული კოდის შესრულება.

რა არის ასამბლერი?

ასემბლერი არის პროგრამული უზრუნველყოფა ან ინსტრუმენტი, რომელიც თარგმნის ასამბლეის ენას მანქანის კოდში. ასე რომ, ასამბლერი არის შემდგენელის ტიპი და წყაროს კოდი იწერება ასამბლეის ენაზე. ასამბლეა არის ადამიანისთვის წასაკითხი ენა, მაგრამ მას, როგორც წესი, აქვს ერთ-ერთი კავშირი შესაბამის მანქანის კოდთან. ამიტომ ნათქვამია, რომ ასამბლერი ასრულებს იზომორფულ (ერთიდან ერთ რუქაზე) თარგმნას. მოწინავე ასამბლერები უზრუნველყოფენ დამატებით ფუნქციებს, რომლებიც მხარს უჭერენ პროგრამის შემუშავებას და გამართვის პროცესებს. მაგალითად, ასამბლერების ტიპი, რომელსაც ეწოდება მაკრო ასამბლერები, უზრუნველყოფს მაკრო ინსტრუმენტს.

რა არის თარჯიმანი?

თარჯიმანი არის კომპიუტერული პროგრამა ან ინსტრუმენტი, რომელიც ასრულებს პროგრამირების ინსტრუქციებს. თარჯიმანს შეუძლია ან შეასრულოს წყაროს კოდი პირდაპირ, ან გადააქციოს წყარო შუალედურ კოდად და შეასრულოს იგი პირდაპირ ან შეასრულოს კომპილირებული კოდი, რომელიც წარმოებულია შემდგენელის მიერ (ზოგიერთი თარჯიმანი სისტემა შეიცავს შემდგენელს ამ ამოცანისთვის).ენები, როგორიცაა Perl, Python, MATLAB და Ruby არის პროგრამირების ენების მაგალითები, რომლებიც იყენებენ შუალედურ კოდს. UCSD პასკალი განმარტავს წინასწარ შედგენილ კოდს. ენები, როგორიცაა Java, BASIC და Samlltalk, ჯერ წყაროს აწყობენ შუალედურ კოდში, რომელსაც ეწოდება bytecode და შემდეგ ინტერპრეტაციას უკეთებენ მას.

რა განსხვავებაა ასამბლერსა და თარჯიმანს შორის?

ასემბლერი შეიძლება ჩაითვალოს შემდგენლის სპეციალურ ტიპად, რომელიც მხოლოდ ასამბლეის ენას თარგმნის მანქანის კოდზე. თარჯიმნები არის ინსტრუმენტები, რომლებიც ასრულებენ ზოგიერთ ენაზე დაწერილ ინსტრუქციას. თარჯიმანი სისტემები შეიძლება შეიცავდეს შემდგენელს, რათა წინასწარ შეადგინოს კოდი ინტერპრეტაციამდე, მაგრამ თარჯიმანი არ შეიძლება ეწოდოს შემდგენლის სპეციალურ ტიპს. ასამბლერები აწარმოებენ ობიექტის კოდს, რომელიც შესაძლოა დაკავშირებული იყოს დამაკავშირებელი პროგრამების გამოყენებით მანქანაზე გასაშვებად, მაგრამ ინტერპრეტატორების უმეტესობას შეუძლია პროგრამის შესრულება დამოუკიდებლად დაასრულოს. ასამბლეერი, როგორც წესი, აკეთებს ერთიდან ერთ თარგმანს, მაგრამ ეს ასე არ არის თარჯიმნების უმეტესობისთვის.იმის გამო, რომ ასამბლეის ენას აქვს ერთი-ერთი შეხამება მანქანის კოდით, ასამბლერი შეიძლება გამოყენებულ იქნას კოდის შესაქმნელად, რომელიც მუშაობს ძალიან ეფექტურად იმ შემთხვევებში, როდესაც შესრულება ძალიან მნიშვნელოვანია (მაგალითად, გრაფიკული ძრავებისთვის, ჩაშენებული სისტემებით შეზღუდული ტექნიკის რესურსებით პერსონალურ კომპიუტერთან შედარებით. როგორიცაა მიკროტალღური, სარეცხი მანქანები და ა.შ.). მეორეს მხრივ, თარჯიმნები გამოიყენება მაშინ, როდესაც გჭირდებათ მაღალი პორტაბელურობა. მაგალითად, ერთი და იგივე ჯავის ბაიტიკოდი შეიძლება გაშვებული იყოს სხვადასხვა პლატფორმაზე შესაბამისი თარჯიმანის (JVM) გამოყენებით.

გირჩევთ: