konekieli vs. assembly

tehokkuuseroja?

Hei,

vanhoissa pelikoneissahan oli pakko ohjelmoida assemblyllä, jotta saataisiin tarpeeksi laitteesta jotain irti. Mutta...

...eikös C64:n, joka tosin on tietokone, pelit ollut pakko ohjelmoida konekielellä? Tästä päästäänkin varsinaiseen kysymykseen, että onko assemblyllä, joka kai noin yleisesti ottaen kehitettiin helpottamaan ohjelmoimista konekieleen nähden, ja konekielellä ohjelmoitaessa tehoeroja? Manfred Trenz, mies maineikkaan C64-pelin Turrican takana (tai no, ainakin idean, muusta en ole varma), ohjelmoi ja teki suoraan sanoen kokonaisen pelin Nintendon 8-bittiselle, pelin nimi oli Super Turrican (ei pidä sekoittaa Super Nintendo -versioon). Nyt nähtyäni useampaan kertaan 60 framen videoversion läpipeluuvideosta, jäi askarruttamaan olisiko mies ohjelmoinut pelin konekielellä ja saanut yllätävää tehoetua assemblyyn verrattuna? NES-pelithän yleensä ohjelmoidaan assemblyllä, mutta on kyllä niin paljon spritejä samanaikaisesti ruudussa ilman minkäänlaista flickeriä että pistää ihmetyttämään miten Trenz oikein ohjelmoi.

7

1954

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • asm Koodaaja

      Nyt puhut samasta asiasta assembly on konekielen mnemoni koodaus kieli, lopputulema on sama koodataanko viittein tai rustaamalla ykkösiä ja nollia.

    • mies..

      Juu, Siitä on kivikausi aikaa kun jotain väänsin assemblyllä, mutta eikös Assembly = konekieli! Siinä vain tietyt "koodit" on korvattu nimillä, eli käskyillä, joita on helpompi vain ymmärtää kuin numeroita/hexakoodeja.

      Atari ST:n aikaan kauhistelin kun avasin "exe:n" tekstieditoriin ja kauhistelin, että kuka ymmärtää tätä sekasotkua ja myöhemmin kauhistelin, että kuka ymmärtää näitä hexakoodin pätkiä. Meni aikaa, kunnes ymmärsin että ne hexakoodin pätkät vastasivat tiettyjä käskyjä -> Assemply jne...

    • korsi kekoon eli heapiin

      Assembly on suomeksi hienolta nimeltään tietääkseni symbolinen konekieli. Käännetään assemblerilla konekieleksi.

    • joku joskus

      C64 pelejä ei ollut pakko tehdä "assemblyllä".

      Itse ajattelen assemblystä että kyseessä on symbolinen konekieli kääntäjä specifiset ohjauskomennot.

      Symboolinen konekielihän on prosessori valmistajan määrittelemät symbooliset nimet eri toiminnoille, joille taas on olemassa numerosarja, joiden perusteella prosessori tekee (loogisia ja muita) toimintoja.

      Mahdollisesti "assembly" nimi on väännetty assembler ohjelman nimestä. Samalla periaatteella C-kieli voisi olla C-compily! ;-)

      Teoreettisesti konekielellä ja assemblyllä saa aivan identtistä koodia. Toisaalta monet assembler kääntäjät osaavat koodin optimoinnin (mitätön tehoetu) ja lisäksi koodin kirjoitus symboolisena on ajan käytön kannalla niin paljon tehokkaampaa.

      • jää käteen?

        "Teoreettisesti konekielellä ja assemblyllä saa aivan identtistä koodia. Toisaalta monet assembler kääntäjät osaavat koodin optimoinnin (mitätön tehoetu) ja lisäksi koodin kirjoitus symboolisena on ajan käytön kannalla niin paljon tehokkaampaa."

        Assembler (esim. MASM) on parhaimmillaan työkalu joka taipuu moneksi, mm. tekee objektikoodia, jota voi sijoittaa C-kielisiin sovelluksiin ja - TÄRKEIN - pitää syntaksin kasassa. On tuskallista etsiä koodista 'kielioppi'-virheitä , ellei ole siihen mitään tukea! Ja siitä on kokemusta tuolta 70-luvun lopusta alkaen! Kynällä ja paperilla mnemoonista kääntäen ja suoraa heksaa koneelle naputellen.


    • Delete program ? (Y)

      Siihen aikaan tehtiin suuri läjä omia aliohjelmia konekielellä eli tavallaan hiemankin mutkikkaammassa ohjelmassa joutui kirjoittamaan käytännössä kaikki perusrutiinit valmiiksi ennen kuin pääsi kirjoittamaan varsinaista ohjelmaa. Mitä pienempään tilaan sai kirjoitettua ne perusrutiinit jotka toimivat pelille kuin käyttöjärjestelmän kernel sitä parempi. 64K oli tosiaan tiukka alue kirjoittaa koodia, mutta onneksi 6502:n käskykanta oli simppeliä 8-bittistä eli yksittäiset käskyt veivät vain 1-3 tavua tilaa.

    • BlueMax

      C64:sta ohjelmoitiin CBasicilla. Myös assembler oli mahdollinen, mutta paljon hankalampi

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

    Luetuimmat keskustelut

    1. Uskalla lähestyä minua

      Mitä siinä menetät? Vai tyydytkö kirjoittelemaan täällä? Minä olen jo tehnyt aloitteen. Paitsi jos sinua ei kiinnosta. S
      Ikävä
      60
      6144
    2. Päätin että suostun keskustelemaan

      Jos sellainen tilanne tulee.
      Ikävä
      100
      3172
    3. Oulaskankaan päätöksistä

      https://www.facebook.com/share/v/1BSCFTMTyX/ Nyt tuli kova päätös, arvostan tätä Kuoppamäen suoraselkäisyyttä.
      Oulainen
      25
      2456
    4. EMMINÄ JAKSA OOTTAA KOLMEA VIIKKOA!

      Kyllä se aiemmin parantuu😘
      Ikävä
      21
      2118
    5. Mitä toivot Suomi24:ltä? Osallistu sivuston kehitykseen!

      Moikka keskustelijat! Terveisiä Suomi24:n kehitystiimiltä. Vuosi lähenee loppuaan, mutta ennen kuin rauhoitumme joulun
      Suomi24 Blogi ★
      351
      1772
    6. Kaikki menevät kouluu tai töihin

      Hyvää huomenta vaan. 😊 Minä menen kohta uudelleen nukkumaan. Se on kuin laittaisi rahaa pankkiin. 😊☕🎄🧡🐺
      Ikävä
      391
      1737
    7. Et varmaan edes sitä uskoisi

      Mutta varattunakin sydämeni on pohjimmiltaan aina kuulunut sinulle. Toivottavasti vielä jonain päivänä saan viimein oll
      Ikävä
      79
      1666
    8. Tiedoksi että

      En aijo laittaa viestiä enkä soittaa enkä edes harkitse asiaa.
      Ikävä
      27
      1646
    9. Huh, huh. Aitolehti eronnut?

      Osui Gekkosessa silmiini uutinen, jossa vihjataan, että Aitolehti olisi kenties eronnut kihlatustaan, joka on viimeksi o
      Kotimaiset julkkisjuorut
      69
      1541
    10. Suomessa oikeistohallitus vallassa: nälkäiset lapset hakevat jo Punaiselta ristiltä ruoka-apua

      Sosiaaliturvaleikkaukset ovat lisänneet asiointia ruoka-avussa. Kyllä tämän maan tilanne on surkea, kun lapset näkevät n
      Perussuomalaiset
      223
      1384
    Aihe