Үндсэн ялгаа – Машины хэл ба Ассемблей хэл
Програмчлалын хэл нь хүмүүст компьютерт даалгавар гүйцэтгэх зааварчилгаа үүсгэх боломжийг олгодог. Дээд түвшний програмчлалын хэл, Ассемблей хэл, Машины хэл гэсэн гурван төрлийн програмчлалын хэл байдаг. Өндөр түвшний програмчлалын хэл нь хүмүүст ойлгоход хялбар байдаг. Компьютерт танигдсан хэлийг машины хэл гэж нэрлэдэг. Ассемблей хэл нь дээд түвшний хэл болон машин хэлний хоорондох хэл юм. Машины хэл ба ассемблер хэл хоёрын гол ялгаа нь машин хэл нь компьютерээр шууд ажилладаг бөгөөд ассемблер хэл нь ассемблерээс CPU-ээр гүйцэтгэхийн тулд машины код эсвэл объектын код руу хөрвүүлэхийг шаарддаг.
Машины хэл гэж юу вэ?
Хүмүүс өндөр түвшний програмчлалын хэлийг ойлгодог. Дотоод CPU-ийн талаар гүн гүнзгий ойлголттой байх, өндөр түвшний хэлийг ашиглан програмчлах шаардлагагүй. Тэд англи хэлтэй төстэй синтаксийг дагадаг. Java, C, C++, Python бол өндөр түвшний програмчлалын хэл юм. Компьютер нь машины хэлийг таньдаг боловч дээд түвшний хэлийг ойлгодоггүй. Тиймээс эдгээр програмуудыг компьютерт ойлгомжтой машин хэл рүү хөрвүүлэх хэрэгтэй. Энэ орчуулгыг хөрвүүлэгч эсвэл орчуулагч ашиглан хийдэг.
Зураг 01: Тэг ба нэгийн машин хэл.
Машины хэл нь тэг ба нэг хоёртын цифрүүдээс бүрдэнэ. Компьютер нь дижитал электрон төхөөрөмж тул үйлдлүүдэд хоёртын системийг ашигладаг. Нэг нь үнэн төлөв / асаалттай төлөвийг, харин тэг нь худал / унтарсан төлөвийг заана. Програмыг дээд түвшний хэлнээс машины хэл рүү хөрвүүлэх арга нь CPU-ээс хамаарна.
Ассамблейн хэл гэж юу вэ?
Ассемблер хэл нь дээд түвшний програмчлалын хэл болон машины хэлний хоорондох завсрын хэл юм. Энэ нь машины хэлнээс нэг түвшний дээгүүр юм. Ассемблей хэл нь машины хэлээс ойлгоход хялбар боловч дээд түвшний програмчлалын хэлээс хэцүү. Энэ хэл нь техник хангамжийн түвшинд ойрхон тул доод түвшний хэл гэж нэрлэгддэг. Ассемблей ашиглан үр дүнтэй програм бичихийн тулд программист компьютерийн бүтэц, бүртгэлийн бүтцийг сайн мэддэг байх ёстой. Ассемблер гэж нэрлэгддэг тусгай хөрвүүлэгчийг ассемблер хэлний зааврыг машины код эсвэл объектын код болгон хөрвүүлэхэд ашигладаг.
Ассемблейн хэллэг нь дөрвөн хэсэгтэй. Эдгээр нь шошго, мнемоник, операнд, тайлбар юм. Шошго болон сэтгэгдэл нь сонголттой. Mnemonic нь гүйцэтгэх заавар бөгөөд операндууд нь командын параметрүүд юм. Ассемблей хэл нь мөн макро дэмждэг. Макрог нэр бүхий зааврын багц гэж тодорхойлж болно. Үүнийг програмын өөр газар ашиглах боломжтой.
Ассемблер хэл дээрх мэдэгдлийн зарим жишээг доор харуулав.
MOV SUM, 50 – Энэхүү заавар нь 50 утгыг SUM хувьсагч руу хуулна.
НЭМЭГДСЭН ҮНЭТ 1, 20 – Энэ нь VALUE1 хувьсагчид 20 нэмэхэд зориулагдсан
ADD AH, BH – Энэ заавар нь AH регистр дэх агуулгыг BH регистр рүү хуулах явдал юм.
INC COUNT – Энэ нь COUNT хувьсагчийг нэгээр нэмэгдүүлэх явдал юм.
БА VALUE1, 100 – Энэ нь VALUE1 болон 100 хувьсагч дээр БА үйлдлийг гүйцэтгэхэд зориулагдсан.
MOV AL, 20 – Энэ нь 20 утгыг AL бүртгэлд хуулах явдал юм
Зураг 02: Ассемблер хэл ашиглан бичигдсэн програм
Ассамблейн мэдэгдлийн багц нь Ассемблей програм юм. Ассемблер хэл нь машины хэлээс илүү хялбар байдаг нь харагдаж байна. Энэ нь англи хэлтэй төстэй синтакстай. Ассемблей хэл нь гуч орчим заавартай. Шаардлагатай санах ой болон гүйцэтгэх хугацаа нь дээд түвшний хэлтэй харьцуулахад хамгийн бага байна.
Бодит цагийн системд CPU-ийн үйлдлийг нэн даруй шаардах үйл явдлууд гарч болзошгүй. Эдгээр үйл явдлууд нь Interrupt service ruutine (ISR) гэж нэрлэгддэг тусгай дэд програмууд юм. Ассемблей хэл нь ISR програмчлахад хэрэгтэй.
Машины хэл ба Ассемблей хэлний хооронд ямар төстэй зүйл байдаг вэ?
Машины хэл болон ассемблер хэл хоёулаа техник хангамжийн түвшинтэй холбоотой
Машины хэл ба Ассемблер хэл хоёрын ялгаа юу вэ?
Машины хэл ба Ассемблей хэл |
|
Машины хэл нь зааврыг CPU-ээр шууд гүйцэтгэдэг хамгийн доод түвшний програмчлалын хэл юм. | Ассемблер хэл нь машины код/объект код руу хөрвүүлэхийн тулд ассемблер шаарддаг доод түвшний програмчлалын хэл юм. |
Ойлгомжтой | |
Машины хэл нь зөвхөн компьютерт ойлгомжтой. | Ассемблей хэл нь хүмүүст ойлгомжтой. |
Синтакс | |
Машины хэл нь хоёртын цифрээс бүрдэнэ. | Ассемблей хэл нь англи хэлтэй төстэй синтаксийг дагадаг. |
Хараат байдал | |
Машины хэл нь платформоос хамаарч өөр өөр байна. | Ассемблей хэл нь стандарт заавруудаас бүрдэнэ. |
Програмууд | |
Машины хэл нь машины код юм. | Ассембл хэлийг микропроцессорт суурилсан, бодит цагийн системд ашиглаж байна. |
Хураангуй – Машины хэл ба Ассемблей хэл
Машины хэл ба ассемблер хэл хоёрын ялгаа нь машины хэлийг компьютер шууд гүйцэтгэдэг ба ассемблер хэл нь доод түвшний програмчлалын хэл бөгөөд ассемблерээс объектын код эсвэл машины код руу хөрвүүлэхийг шаарддаг. Ассемблей хэл нь машины хэлнээс нэг алхам урагшилдаг. Ассемблей хэл нь микроконтроллер дээр суурилсан системийг програмчлахад тохиромжтой хэл юм. Мөн энэ хэл нь CPU хэрхэн ажиллаж байгаа болон компьютерийн дотоод бүрэлдэхүүн хэсгүүдийн талаар сайн ойлголт өгдөг.
Машины хэл ба Ассемблей хэлний PDF хувилбарыг татаж авах
Та энэ нийтлэлийн PDF хувилбарыг татаж аваад офлайн зорилгоор ашиглах боломжтой. PDF хувилбарыг эндээс татаж авна уу Машины хэл ба Ассемблей хэлний хоорондох ялгаа
Зургийн зөвшөөрөл:
1.’Machine language’By Turkei89 – Өөрийн ажил, (CC BY-SA 3.0) Commons Wikimedia
2.’Zstr count x86 assembly’ OldCodger2, (Нийтийн домэйн) Commons Wikimedia