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

187

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

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

      Luetuimmat keskustelut

      1. Työsuhdepyörän veroetu poistuu

        Hallituksen veropoliittisen Riihen uutisia: Mitä ilmeisimmin 1.1.2026 alkaen työsuhdepyörän kuukausiveloitus maksetaan
        Pyöräily
        324
        8438
      2. Fuengirola.fi: Danny avautuu yllättäen ex-rakas Erika Vikmanista: "Sanoisin, että hän on..."

        Danny matkasi Aurinkorannikolle Helmi Loukasmäen kanssa. Musiikkineuvoksella on silmää naiskauneudelle ja hänen ex-raka
        Kotimaiset julkkisjuorut
        70
        2735
      3. Pakko tulla tänne

        jälleen kertomaan kuinka mahtava ja ihmeellinen sekä parhaalla tavalla hämmentävä nainen olet. En ikinä tule kyllästymää
        Ikävä
        47
        1667
      4. Työhuonevähennys poistuu etätyöntekijöiltä

        Hyvä. Vituttaa muutenkin etätyöntekijät. Ei se tietokoneen naputtelu mitään työtä ole.
        Maailman menoa
        175
        1645
      5. Hävettää muuttaa Haapavedelle.

        Joudun töiden vuoksi muuttamaan Haapavedelle, kun työpaikkani siirtyi sinne. Nyt olen joutunut pakkaamaan kamoja toisaal
        Haapavesi
        69
        1507
      6. Tietenkin täällä

        Kunnan kyseenalainen maine kasvaa taas , joku huijannut monen vuoden ajan peltotukia vilpillisin keinoin.
        Suomussalmi
        23
        1235
      7. Katseestasi näin

        Silmissäsi syttyi hiljainen tuli, Se ei polttanut, vaan muistutti, että olin ennenkin elänyt sinun rinnallasi, jossain a
        Ikävä
        62
        1099
      8. GALLUP: Kuka voittaa The Voice of Finland -kisan: Oliver, Janina, Julia vai Mohammad?

        GALLUP: Kuka voittaa The Voice of Finland -kisan: Oliver, Janina, Julia vai Mohammad? Tänään jännittävä finaalilähetys
        Voice of Finland
        42
        1085
      9. Toinen kuva mikä susta on jäänyt on

        tietynlainen saamattomuus ja laiskuus. Sellaineen narsistinen laiskanpuoleisuus. Palvelkaa ja tehkää.
        Ikävä
        39
        1075
      10. Arvaa miten paljon

        Haluan sua?
        Ikävä
        82
        1010
      Aihe