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

342

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

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

      Luetuimmat keskustelut

      1. Rakastatko?

        Ala kertomaan se ja heti
        Ikävä
        82
        3323
      2. Mikä haluat olla kaivatullesi?

        1. Kaveri 2. Ystävä 3. Panokaveri 4.puoliso 5 jokin muu
        Ikävä
        92
        2975
      3. Kosiako meinasit?

        Voi sua rakas ❤️
        Ikävä
        53
        2252
      4. Mietin että

        Onko tästä enää paluuta entiseen? Ainut asia joka päiviini toi taannoin iloa, oli meidän yhteinen hassuttelu ja huumorin
        Ikävä
        20
        1695
      5. Sytyttikö hallin lapsi vai joku mielipuoli

        Onko tietoa? Toivon jälkimmäistä
        Vimpeli
        19
        1644
      6. Nyt rupeaa löytymään talonmiestä ja muuta sankaria hallipaloon

        Kyllä on naurettavia juttuja tuossa paikallislehdessä, että saa tosiaan nauraa niille..
        Vimpeli
        11
        1620
      7. Tajusin vaan...

        Että olen pelkkä kroonistunut mielisairas. Olen sairauspäissäni luullut itsestäni liikaa. Luulin, että olen vain korkein
        Ikävä
        22
        1458
      8. Olisitpa rakkaimpani

        Kaipaan sinua. Ikävä sinun läsnäoloa ja kaikkea sinussa. Päivistä, jolloin nähdään tulee onnellisia päiviä. Sinun seuras
        Tunteet
        6
        1448
      9. Aaamu on täällä taas!

        Hyvää ja rauhallista työpäivää rakkauteni. Kunpa vaan hymyilisit enemmän. Toivon, että joku kaunis päivä kanssani et vaa
        Ikävä
        13
        1381
      10. Noin ulkonäkö-jutut ei multa

        Nainen, koskaan en ole kirjoittanut siitä mitään ilkeää. Ei kuulu tapoihin
        Ikävä
        37
        1353
      Aihe