Негізгі айырмашылық – машина тілі мен ассемблер тілі
Бағдарламалау тілдері адамдарға компьютерге тапсырмаларды орындау үшін нұсқаулар жасауға мүмкіндік береді. Жоғары деңгейлі бағдарламалау тілдері, ассемблер тілі және машина тілі сияқты бағдарламалау тілдерінің үш санаты бар. Жоғары деңгейлі бағдарламалау тілдерін адамдарға түсіну оңайырақ. Компьютермен танылатын тіл машина тілі деп аталады. Ассемблер тілі – жоғары деңгейлі тілдер мен машина тілі арасындағы тіл. Машина тілі мен ассемблер тілінің негізгі айырмашылығы мынада, машина тілі компьютер арқылы тікелей орындалады және ассемблер тілі процессор орындау үшін ассемблер машиналық кодқа немесе объект кодына түрлендіруді талап етеді.
Машина тілі дегеніміз не?
Адамдар жоғары деңгейлі бағдарламалау тілдерін түсінеді. Ішкі процессорды терең түсіну, жоғары деңгейлі тілдерді пайдаланып бағдарламалау қажет емес. Олар ағылшын тіліне ұқсас синтаксисті ұстанады. Java, C, C++, Python – кейбір жоғары деңгейлі бағдарламалау тілдері. Компьютер машина тілін таниды, бірақ жоғары деңгейлі тілдерді түсінбейді. Сондықтан бұл бағдарламаларды компьютерге түсінікті машина тіліне түрлендіру керек. Бұл аударма компилятор немесе аудармашы арқылы орындалады.
01-сурет: Нөлдер мен бірліктердің машина тілі.
Машиналық тіл нөл және бір рет болатын екілік сандардан тұрады. Компьютер цифрлық электронды құрылғы, сондықтан ол операциялар үшін екілік жүйені пайдаланады. Біреуі шын/қосу күйін, ал нөл жалған күйді/өшіру күйін көрсетеді. Бағдарламаны жоғары деңгейлі тілден машина тіліне түрлендіру жолы процессорға байланысты.
Ассемблер тілі дегеніміз не?
Ассемблер тілі – жоғары деңгейлі бағдарламалау тілдері мен машина тілі арасындағы аралық тіл. Бұл машина тілінен бір деңгей жоғары. Ассемблер тілін машина тіліне қарағанда түсіну оңай, бірақ жоғары деңгейлі бағдарламалау тілдеріне қарағанда қиынырақ. Бұл тіл аппараттық деңгейге жақын болғандықтан төмен деңгейлі тіл ретінде де белгілі. Assembly көмегімен тиімді бағдарламалар жазу үшін бағдарламашы компьютердің архитектурасын және регистр құрылымын жақсы түсінуі керек. Ассемблер деп аталатын арнайы компилятор ассемблер тілінің нұсқауларын машиналық кодқа немесе объект кодына түрлендіру үшін пайдаланылады.
Ассемблер тілінің мәлімдемелері төрт бөлімнен тұрады. Олар белгі, мнемоникалық, операнд, түсініктеме. Белгі және түсініктемелер міндетті емес. Мнемотехника – орындалатын нұсқау, ал операндтар – пәрменнің параметрлері. Ассамблея тілі макростарды да қолдайды. Макросты аты бар нұсқаулар жиынтығы ретінде анықтауға болады. Оны бағдарламаның басқа жерінде пайдалануға болады.
Ассамблея тіліндегі мәлімдемелердің кейбір мысалдары төмендегідей.
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-сурет: Assembly Language көмегімен жазылған бағдарлама
Ассамблея мәлімдемелерінің жинағы – Ассамблея бағдарламасы. Ассемблер тілі машина тіліне қарағанда оңайырақ екенін көруге болады. Оның ағылшын тіліне ұқсас синтаксисі бар. Ассамблея тілінде отызға жуық нұсқаулар бар. Қажетті жад және орындау уақыты жоғары деңгейлі тілдермен салыстырғанда ең аз.
Нақты уақыттағы жүйелерде CPU әрекетін дереу талап ететін оқиғалар болуы мүмкін. Бұл оқиғалар үзіліс қызметінің тәртібі (ISR) деп аталатын арнайы ішкі бағдарламалар болып табылады. Ассемблер тілі ISR бағдарламалау үшін пайдалы.
Машина тілі мен ассемблер тілі арасында қандай ұқсастық бар?
Машина тілі де, ассемблер тілі де аппараттық құрал деңгейіне қатысты
Машина тілі мен ассемблер тілінің айырмашылығы неде?
Машина тілі мен құрастыру тілі |
|
Машина тілі – нұсқауларды процессор тікелей орындайтын ең төменгі деңгейлі бағдарламалау тілі. | Ассемблер тілі – машина кодын/нысан кодын түрлендіру үшін ассемблерді қажет ететін төмен деңгейлі бағдарламалау тілі. |
Түсініктілік | |
Машина тілі тек компьютерлерге ғана түсінікті. | Ассемблер тілі адамдарға түсінікті. |
Синтаксис | |
Машиналық тіл екілік сандардан тұрады. | Ассемблер тілі ағылшын тіліне ұқсас синтаксиске сәйкес келеді. |
Тәуелділік | |
Машина тілі платформаға байланысты өзгереді. | Ассемблер тілі стандартты нұсқаулар жинағынан тұрады. |
Қолданбалар | |
Машина тілі - машина коды. | Ассемблер тілі микропроцессорға негізделген нақты уақыттағы жүйелер үшін пайдаланылады. |
Қорытынды – машина тілі мен ассемблер тілі
Машина тілі мен ассемблер тілінің айырмашылығы мынада: машина тілі компьютермен тікелей орындалады, ал ассемблер тілі ассемблердің объект кодына немесе машиналық кодқа түрлендіруді қажет ететін төмен деңгейлі бағдарламалау тілі болып табылады. Ассемблер тілі машина тілінен бір қадам алда. Ассемблер тілі микроконтроллер негізіндегі жүйелерді бағдарламалау үшін тамаша тіл болып табылады. Бұл тіл сонымен қатар процессордың қалай жұмыс істейтінін және компьютердің ішкі құрамдастарын жақсы түсінуге мүмкіндік береді.
Машина тілі мен Ассамблея тілі арасындағы PDF нұсқасын жүктеп алыңыз
Сіз осы мақаланың PDF нұсқасын жүктеп алып, сілтеме жазбасына сәйкес офлайн мақсаттарда пайдалана аласыз. PDF нұсқасын мына жерден жүктеп алыңыз Машина тілі мен құрастыру тілінің арасындағы айырмашылық
Сурет сыйлығы:
1.’Машина тілі’By Turkei89 – Жеке жұмыс, (CC BY-SA 3.0) Commons Wikimedia арқылы
2.’Zstr count x86 құрастыру’ OldCodger2, (Қоғамдық домен) Commons Wikimedia арқылы