GNU assembler (gas) ja linkkeri (ld ?)

Anonyymi-ap

1. Onko normaalia toimintaa GNU assemblerilta, että vain .o -tiedostoon menee oikea data, ja .lst -tiedostoon tulee väärää dataa ?

Esim. kun on hyppykäsky tai funktiokutsukäsky (jmp, call, rjmp, rcall), niin käskyn ns. opkoodi on oikein, mutta kohdeosoite on .lst -tiedostossa aina sama, eli jos on 2 eri funktiokutsua, niin .lst -tiedostossa molemmille näkyy sama kohdeosoite, ja relatiivisilla kutsutavoilla kohdeosoite ei ole sama, mutta etäisyys kutsusta kohteeseen on sama (taitaa olla aina 0).

Entä, miten on linkkrin (ld ?) laita ?

JOS gas on saanut .lst -tiedostoon väärän kohdeosoitteen, niin korjautuuko tuo esim. .bin tai .hex -tiedostoon oikeaksi, vai jääkö vääräksi ?

Yritän siis tässä kysellä sitä, että muodostavatko gas ja ld siinä mielessä yhden kokonaisuuden, että .lst -tiedosto ei gas:n tapauksessa ole edes tarkoitus olla absoluuttisesti oikea, vaan vasta linkkeri (ld) korjaa kohdeosoitteet oikeaksi, vai jääkö vääräksi kokonaan ?

Tässä on kyse AVR -mikrokontrollerille kääntävästä (gas) ja linkkaavasta (ld) ohjelmasta - mutta käsittääkseni toimintaperiaatteet ovat gas ja ld osalta samat x86 -versiossa ja AVR -crosscompiler -versiossa. Cross siinä mielessä, että vaikka käännetään AVR:lle, niin kääntäminen tapahtuu Windows -PC:ssä.

Voisi (gas, ld) tietysti teoriassa olla 64 -bittinenkin ohjelma, mutta tästä ei ole käytännössä mitään hyötyä - kun AVR:n muisti lasketaan kilotavuissa, niin 32 -bittisen ohjelman kokorajoituksella ei ole mitään merkitystä.

Vaihtoehto toki olisi käyttää jotain muuta assembleria, siis sellaista, joka osaa itse luoda intel hex -formaattia olevan tiedoston AVR:lle siirtoa varten, jolloin erillistä linkkausvaihetta ei tarvita lainkaan. Mutta gas:n kanssa tarvitaan.

Assemblerin vaihto toiseen vain tässä tarkoittaisi sitä, että joutuisin itse koodaamaan apuohjelman, joka muuntaa gas -syntaksia esim. AVRA:lle sopivaksi.

0

495

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

      Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

      Luetuimmat keskustelut

      1. Huomenet naiselle

        Harmittaa ettei ehkä nähdä enää koskaan. Näillä mennään sitten.
        Ikävä
        39
        2701
      2. Ei sua enään tunnista

        Kun olet vanhentunut ja lihonut.
        Ikävä
        53
        2507
      3. Oletko pitkävihainen ja onko sinulla " huono muisti muisti "?

        Mitä asioita et unohda tai anna anteeksi ? Mitä asioita voit " unohtaa" tai unohtaa? Vastaa koskien kaivattuasi tai yle
        Ikävä
        49
        2212
      4. Kokoomus haluaa leikata vielä lisää sosiaaliturvasta

        Kokoomuksen Sanni-Granhn Laasonen pyytänyt KELA:aa selvittämään mistä leikataan vähäosaisilta vielä lisää sosiaaliturvas
        Maailman menoa
        334
        1923
      5. Mitä tapahtuu

        Syksyllä?
        Ikävä
        135
        1655
      6. Kaikesta muusta

        Mulla on hyvä fiilis. Mä selviän tästä ja sit musta tulee parempi ihminenkin. Ainut, mitä mun pitää nyt välttää on se ko
        Ikävä
        16
        1515
      7. Ikävöin sua

        Sä vaan pyörit mun mielessä, en saa sua unohdettua. Tilanteesta tekee vaikean sen kun molemmat ollaan varattuja ja tilan
        Ikävä
        7
        1338
      8. Neljä kuukautta vankeutta, kenelle?

        Kuka tuomittiin ehdottomaan neljän kuukauden vankeustuomioon ja korvauksiin?
        Suomussalmi
        10
        1197
      9. Olet huippunainen

        Ja onneksi tiedät sen itsekin.
        Ikävä
        42
        1106
      10. Oho! Esko Eerikäinen joutuu palaamaan "kalakukkokaupunkiin" - Tämä syy ei jätä kylmäksi!

        Esko Eerikäinen on kyllä monessa mukana ja uskaltaa heittäytyä. Hatun nosto siitä! Eerikäinen palasi “kalakukkokaupunkii
        Kotimaiset julkkisjuorut
        66
        1076
      Aihe