Доод түвшний програмчлалын хэл

Доод түвшний програмчлалын хэл гэдэг нь компьютерийн системийн командаас ямар нэг хийсвэрлэл байхгүй програмчлалын хэл.

Нэгдүгээр үе[засварлах | кодоор засварлах]

Нэгдүгээр үеийн програмчлалын хэл буюу 1GL нь машины хэл. Компьютерт мэдээлэл боловсруулах үйлдлийг ба төхөөрөмжүүдийг хооронд нь холбох үүргийг процессор гүйцэтгэнэ. Ингэхдээ, урьдчилан тодорхойлогдсон хэсэг бүлэг командын тусламжтайгаар гүйцэтгэдэг. Эдгээр командыг машины командууд (machine commands) гэх бөгөөд бүгд харгалзан өөр өөрийн гэсэн кодтойгоор Санах ойд байрлаж байдаг. Энэ кодуудын цогцыг машины хэл (machine language) гэнэ. Машины хэлээр програм зохиохыг доод түвшний програмчлал гэнэ. Харин програм гэдэг нь тодорхой машины командуудын дараалал.

Машины хэлээр програмчлах үед санах ой, регистр, процессорын командууд гээд түүний бүх нөөцийг хэрэглэгч бүрэн хянах боломжтой. Мэдээж програм шууд компьютерын хэлээр бичигдсэн байх тул компьютерт туйлын ойлгомжтой, нийцтэй байдаг. Гэтэл нөгөө талаас ийм програмыг хүн уншиж ойлгоход маш төвөгтэй болно. Тухайн нэг машины команд ямар кодтой байдгийг сайн мэдэх хэрэгтэй болно. Энэ нь машины хэлээр томоохон програм бичих боломжийг үгүй болгодог.

Хоёрдугаар үе[засварлах | кодоор засварлах]

Үүний улмаас, доод түвшний програм бичих процессыг хялбарчлах зорилгоор бүр 1950-иад оноос ассемблерын хэл (assembler language) хэмээх програмчлалын хэлийг ашиглах болжээ. Энэ хэлийн онцлог нь машины командуудыг богино англи маягийн үгээр төлөөлүүлэн сольсон явдал юм. Ингэснээр, машины хэлээр бол учиргүй тоон цуваа болох байсан програм уншиж ойлгоход дөхөмтэй, тодорхой үгнүүдээс тогтсон текст болж хувирдаг. Ө.х. ассемблерын програмын мөр болгон цаанаа машины нэг командад харгалзах боломжтой. Доорхи жишээнд, a=5 ба b=3 байхад c=a+b үйлдлийг хийж, үр дүнг дэлгэцэнд хэвлэх програм машины болон ассемблерын хэл дээр хэрхэн бичигдсэнийг харуулжээ. Ассемблерын текст хүн харахад арай ойлгомжтой байгаа нь илт. Гэхдээ түүнийг машины хэл рүү хувиргаагүй цагт компьютерт ойлгомжгүй хэвээр байх болно. Хувиргахын тулд ассемблер (assemblers) хэмээх тусгай хөрвүүлэгч програмыг ашиглана. Хэрэв процессорууд хоорондоо ялгаатай бол харгалзах машины командууд нь мөн өөр өөр байдаг. Тиймээс машины хэл ба түүний үгчилсэн “хувилбар” болох ассемблерын хэл нь мөн ялгаатай болж таарна. Тухайлбал энд үзүүлсэн жишээ IBM PC төрлийн компьютерт тохирох аж.

Машины болон ассемблерын стандарт хэл гэж байхгүй. Энэ нь эдгээр хэлээр бичсэн програмыг универсал бус, локал шинжтэй (компьютерээс хамаарсан) болгож байгаа юм. Гэхдээ, нийцэх компьютертэйгээ гүнзгий доод түвшинд буюу аппаратын түвшинд шууд харьцдаг учраас санах ойд эзлэх зай бага, биелэх хугацаа хурдан г.м. сайн талтай. Харин програм бичих процесс нь өөрөө маш төвөгтэй, их хөдөлмөр орсон, програм зохиож буй хүн компьютерын архитектур, ажиллах зарчмыг дээд зэргээр мэдэх шаардлагатай. Ийм учраас машины болон ассемблерын хэлийг гүнзгий буюу доод түвшний програмчлалын хэлүүд гэдэг.