Ассемблер менен котормочунун айырмасы

Ассемблер менен котормочунун айырмасы
Ассемблер менен котормочунун айырмасы

Video: Ассемблер менен котормочунун айырмасы

Video: Ассемблер менен котормочунун айырмасы
Video: Aylık YouTube Gelirimiz Ne Kadar ? | How much youtube pays a month ? 2024, Июль
Anonim

Ассемблер менен Котормочу

Жалпысынан компилятор – бул баштапкы тил деп аталган бир тилде жазылган программаны окуп, аны башка тилге которуучу компьютердик программа. Адаттагыдай, булак тил C++ сыяктуу жогорку деңгээлдеги тил жана максаттуу тил Ассемблер тили сыяктуу төмөнкү деңгээлдеги тил. Бирок, Ассамблея тилинде жазылган баштапкы программаны өзгөртүп, аны машина кодуна же объект кодуна айландыра алган компиляторлор бар. Монтаждоочулар ушундай аспаптар. Башка жагынан алганда, Котормочулар - бул кандайдыр бир программалоо тилинде жазылган көрсөтмөлөрдү аткарган куралдар. Котормочу түз эле жогорку деңгээлдеги баштапкы кодду аткара алат же аларды ортоңку кодго которуп, анан аны чечмелеп же алдын ала түзүлгөн кодду аткара алат.

Ассемблер деген эмне?

Assembler – бул программалык камсыздоо же Ассамблея тилин машина кодуна которуучу курал. Ошентип, ассемблер бул компилятордун бир түрү жана баштапкы коду Ассамблея тилинде жазылган. Ассамблея - бул адам окуй турган тил, бирок ал, адатта, тиешелүү машина коду менен бирден бир байланышка ээ. Ошондуктан ассемблер изоморфтук (бирден бир картага түшүрүү) которууну аткарат деп айтылат. Өркүндөтүлгөн ассемблер программаларды иштеп чыгуу жана мүчүлүштүктөрдү оңдоо процесстерин колдогон кошумча функцияларды камсыз кылат. Мисалы, макро ассемблер деп аталган ассемблер түрү макро мүмкүнчүлүктү камсыз кылат.

Котормочу деген эмне?

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

Ассемблер менен котормочунун ортосунда кандай айырма бар?

Ассемблерди компилятордун өзгөчө түрү катары кароого болот, ал Ассамблея тилин машина кодуна гана которот. Котормочулар – бул кандайдыр бир тилде жазылган көрсөтмөлөрдү аткарган куралдар. Котормочу системалары интерпретациядан мурун кодду алдын ала компиляциялоо үчүн компиляторду камтышы мүмкүн, бирок котормочу компилятордун өзгөчө түрү деп атоого болбойт. Ассемблерлер объекттик кодду чыгарышат, аны машинада иштетүү үчүн байланыштыргыч программаларды колдонуу керек болушу мүмкүн, бирок көпчүлүк котормочулар программанын аткарылышын өз алдынча бүтүрө алышат. Ассемблер, адатта, бир котормо жасайт, бирок бул көпчүлүк котормочулар үчүн туура эмес. Ассемблер тилинде машина коду менен бири-бирин картага түшүрүү бар болгондуктан, ассемблер аткаруу өтө маанилүү болгон учурларда (мисалы, графикалык кыймылдаткычтар, персоналдык компьютерге салыштырмалуу чектелген аппараттык ресурстары бар орнотулган системалар үчүн) абдан эффективдүү иштеген кодду өндүрүү үчүн колдонулушу мүмкүн. микротолкундар, кир жуугуч машиналар ж.б. сыяктуу). Башка жагынан алганда, котормочулар сизге жогорку көчмө жөндөмдүүлүк керек болгондо колдонулат. Мисалы, бир эле Java байт кодун тиешелүү котормочуну (JVM) колдонуу менен башка платформаларда иштетсе болот.

Сунушталууда: