Assemblerin ja kääntäjän ero

Assemblerin ja kääntäjän ero
Assemblerin ja kääntäjän ero

Video: Assemblerin ja kääntäjän ero

Video: Assemblerin ja kääntäjän ero
Video: Дисней Си ТОКИО, ЯПОНИЯ: FastPass, лотерея, одиночный райдер | ВСЕ ЗДЕСЬ (vlog 9) 2024, Marraskuu
Anonim

Assembler vs Compiler

Yleensä kääntäjä on tietokoneohjelma, joka lukee yhdellä kielellä kirjoitetun ohjelman, jota kutsutaan lähdekieleksi, ja kääntää sen toiselle kielelle, jota kutsutaan kohdekieleksi. Perinteisesti lähdekieli oli korkean tason kieli, kuten C++, ja kohdekieli oli matalan tason kieli, kuten kokoonpanokieli. On kuitenkin kääntäjiä, jotka voivat muuntaa Assembly-kielellä kirjoitetun lähdeohjelman ja muuntaa sen konekoodiksi tai objektikoodiksi. Kokoonpanijat ovat sellaisia työkaluja. Joten sekä kokoajat että kääntäjät tuottavat lopulta koodia, joka voidaan suorittaa suoraan koneella.

Mikä on kääntäjä?

Compiler on tietokoneohjelma, joka lukee yhdellä kielellä kirjoitetun ohjelman, jota kutsutaan lähdekieleksi, ja kääntää sen toiselle kielelle, jota kutsutaan kohdekieleksi. Useimmiten lähdekieli on korkean tason kieli ja kohdekieli matalan tason kieli. Joten yleensä kääntäjiä voidaan pitää kääntäjinä, jotka kääntävät kielestä toiseen. Lisäksi kääntäjät tekevät joitain optimointeja koodille. Tyypillinen kääntäjä koostuu useista pääkomponenteista. Ensimmäinen komponentti on skanneri (tunnetaan myös leksikaalisena analysaattorina). Skanneri lukee ohjelman ja muuntaa sen merkkijonoksi. Toinen komponentti on jäsentäjä. Se muuntaa merkkijonon jäsennyspuuksi (tai abstraktiksi syntaksipuuksi), joka kaappaa ohjelman syntaktisen rakenteen. Seuraava komponentti on semanttiset rutiinit, jotka tulkitsevat syntaktisen rakenteen semantiikkaa. Koodin optimoinnit ja lopullinen koodin luominen seuraavat tätä.

Mikä on Assembler?

Assembler on ohjelmisto tai työkalu, joka kääntää Assembly-kielen konekoodiksi. Assembly on siis eräänlainen kääntäjä ja lähdekoodi on kirjoitettu kokoonpanokielellä. Assembly on ihmisen luettavissa oleva kieli, mutta sillä on tyypillisesti yksi yhteen suhde vastaavan konekoodin kanssa. Siksi kokoajan sanotaan suorittavan isomorfisen (yksi yhteen mappauksen) käännöksen. Edistyneet kokoajat tarjoavat lisäominaisuuksia, jotka tukevat ohjelman kehitystä ja virheenkorjausprosesseja. Esimerkiksi makrokokoajiksi kutsutut kokoajat tarjoavat makrotoiminnon.

Mitä eroa on Assemblerilla ja Compilerilla?

Kääntäjä on tietokoneohjelma, joka lukee yhdellä kielellä kirjoitetun ohjelman ja kääntää sen toiselle kielelle, kun taas assembleria voidaan pitää erikoisena kääntäjänä, joka kääntää vain kokoonpanokielen konekoodiksi. Kääntäjät tuottavat yleensä koneella suoritettavan koodin suoraan korkean tason kielestä, mutta kokoajat tuottavat objektikoodin, joka saattaa joutua linkittämään linkitysohjelmilla toimiakseen koneessa. Koska Assembly-kielessä on yksi-yksi-mappaus konekoodin kanssa, assemblerillä voidaan tuottaa koodia, joka toimii erittäin tehokkaasti tilanteissa, joissa suorituskyky on erittäin tärkeää (esim. grafiikkamoottorit, sulautetut järjestelmät, joissa on rajoitetut laitteistoresurssit verrattuna henkilökohtaiseen tietokoneeseen kuten mikroa altouunit, pesukoneet jne.).

Suositeltava: