Ассемблер менен Компилятордун ортосундагы айырма

Ассемблер менен Компилятордун ортосундагы айырма
Ассемблер менен Компилятордун ортосундагы айырма

Video: Ассемблер менен Компилятордун ортосундагы айырма

Video: Ассемблер менен Компилятордун ортосундагы айырма
Video: Полные программы. Команды переходов. Запуск Assembler программ на компьютере. 9 лекция 2024, Ноябрь
Anonim

Ассемблер менен Компилятор

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

Компилятор деген эмне?

Компилятор – бул баштапкы тил деп аталган бир тилде жазылган программаны окуй турган жана аны башка тилге которуучу компьютердик программа. Көбүнчө баштапкы тил жогорку деңгээлдеги тил, ал эми максаттуу тил төмөнкү деңгээлдеги тил болуп саналат. Ошентип, жалпысынан компиляторлорду бир тилден экинчи тилге которгон котормочулар катары кароого болот. Мындан тышкары, компиляторлор кодду кээ бир оптималдаштырууларды аткарышат. Кадимки компилятор бир нече негизги компоненттерден турат. Биринчи компонент сканер (ошондой эле лексикалык анализатор деп аталат). Сканер программаны окуп, аны бир катар токендерге айлантат. Экинчи компонент талдоочу болуп саналат. Ал токендердин саптарын программанын синтаксистик түзүлүшүн камтыган талдоо дарагына (же абстракттуу синтаксис дарагына) айлантат. Кийинки компонент синтаксистик түзүлүштүн семантикасын чечмелөөчү семантикалык процедуралар. Кодду оптималдаштыруу жана акыркы кодду жаратуу ушундан кийин.

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

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

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

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

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