Ассемблер ба орчуулагч хоёрын ялгаа

Ассемблер ба орчуулагч хоёрын ялгаа
Ассемблер ба орчуулагч хоёрын ялгаа

Видео: Ассемблер ба орчуулагч хоёрын ялгаа

Видео: Ассемблер ба орчуулагч хоёрын ялгаа
Видео: Барын ан 2024, Арваннэгдүгээр
Anonim

Ассемблер ба орчуулагч

Ерөнхийдөө хөрвүүлэгч гэдэг нь эх хэл гэж нэрлэгддэг нэг хэл дээр бичигдсэн программыг уншиж, өөр хэл рүү хөрвүүлдэг компьютерийн программ бөгөөд үүнийг зорилтот хэл гэж нэрлэдэг. Уламжлал ёсоор эх хэл нь C++ зэрэг өндөр түвшний хэл, зорилтот хэл нь Ассемблей хэл зэрэг доод түвшний хэл юм. Гэсэн хэдий ч Ассемблей хэлээр бичсэн эх программыг хөрвүүлж, машины код эсвэл объектын код руу хөрвүүлэх боломжтой хөрвүүлэгчид байдаг. Ассемблер бол ийм хэрэгсэл юм. Нөгөө талаас орчуулагчид нь зарим програмчлалын хэлээр бичсэн зааврыг гүйцэтгэдэг хэрэгсэл юм. Орчуулагч нь дээд түвшний эх кодыг шууд гүйцэтгэх эсвэл завсрын код руу орчуулж, тайлбарлах эсвэл урьдчилан эмхэтгэсэн кодыг гүйцэтгэх боломжтой.

Ассемблер гэж юу вэ?

Ассемблер нь Ассемблей хэлийг машины код руу хөрвүүлдэг программ хангамж эсвэл хэрэгсэл юм. Тиймээс ассемблер нь хөрвүүлэгчийн нэг төрөл бөгөөд эх код нь Ассемблей хэлээр бичигдсэн байдаг. Ассемблей нь хүн унших боломжтой хэл боловч энэ нь ихэвчлэн тохирох машины кодтой нэгийг харьцдаг. Тиймээс ассемблер нь изоморф (нэг рүү нэг зураглал) орчуулга хийдэг гэж хэлдэг. Нарийвчилсан ассемблерууд нь программ боловсруулах болон дибаг хийх процессыг дэмждэг нэмэлт функцээр хангадаг. Жишээлбэл, макро ассемблер гэж нэрлэгддэг ассемблерийн төрөл нь макро байгууламжийг хангадаг.

Орчуулагч гэж юу вэ?

Орчуулагч гэдэг нь компьютерийн програм эсвэл програмчлалын зааврыг гүйцэтгэдэг хэрэгсэл юм. Орчуулагч нь эх кодыг шууд гүйцэтгэх эсвэл эх сурвалжийг завсрын код болгон хувиргаж, шууд гүйцэтгэх эсвэл хөрвүүлэгчийн бэлтгэсэн урьдчилан эмхэтгэсэн кодыг ажиллуулж болно (зарим орчуулагч системд энэ даалгаварт хөрвүүлэгч багтдаг). Perl, Python, MATLAB, Ruby зэрэг хэлүүд нь завсрын код ашигладаг програмчлалын хэлний жишээ юм. UCSD Pascal нь урьдчилан эмхэтгэсэн кодыг тайлбарладаг. Java, BASIC болон Samlltalk зэрэг хэлүүд эхлээд эх сурвалжийг байт код гэж нэрлэгдэх завсрын код болгон хөрвүүлж, дараа нь тайлбарладаг.

Ассемблер ба орчуулагч хоёрын ялгаа юу вэ?

Асссемблерийг зөвхөн Ассемблей хэлийг машины код руу хөрвүүлдэг тусгай төрлийн хөрвүүлэгч гэж үзэж болно. Орчуулагч нь зарим хэлээр бичсэн зааварчилгааг гүйцэтгэдэг хэрэгсэл юм. Орчуулагчийн системд тайлбарлахын өмнө кодыг урьдчилан эмхэтгэх хөрвүүлэгч багтаж болох ч орчуулагчийг тусгай төрлийн хөрвүүлэгч гэж нэрлэх боломжгүй. Ассемблерууд объектын кодыг үйлдвэрлэдэг бөгөөд үүнийг машин дээр ажиллуулахын тулд холбогч программуудаар холбох шаардлагатай байж болох ч ихэнх орчуулагчид програмын гүйцэтгэлийг бие даан гүйцэтгэж чаддаг. Ассемблер нь ихэвчлэн ганцаарчилсан орчуулга хийдэг боловч ихэнх орчуулагчид энэ нь тийм биш юм. Ассемблей хэл нь машины кодтой нэгийг харьцах зураглалтай байдаг тул ассемблерийг гүйцэтгэл нь маш чухал үед (жишээ нь: график хөдөлгүүр, хувийн компьютертэй харьцуулахад хязгаарлагдмал техник хангамжийн нөөц бүхий суулгагдсан систем) маш үр дүнтэй ажилладаг кодыг үйлдвэрлэхэд ашиглаж болно. богино долгионы зуух, угаалгын машин гэх мэт). Нөгөөтэйгүүр, зөөвөрлөх чадвар өндөр байх үед орчуулагчийг ашигладаг. Жишээлбэл, ижил Java байт кодыг тохирох орчуулагч (JVM) ашиглан өөр өөр платформ дээр ажиллуулж болно.

Зөвлөмж болгож буй: