Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente bannato
    Registrato dal
    Dec 2008
    Messaggi
    64

    linguaggio assembly

    ho studiato un pò il linguaggio intel e mips leggendo poi sul libro di testo ho scoperto che in teoria scrivere un linguaggio in intel occupa meno spazio del linguaggio ad alto livello ma perchè visto che per scrivere in assembler devo usare molte righe di codice in più?

  2. #2
    Utente bannato
    Registrato dal
    Dec 2008
    Messaggi
    64
    forse si intende che scegliendo io i registri e come allocare in memoria ecc...posso occupare meno memoria?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469

    Re: linguaggio assembly

    Originariamente inviato da ale60
    ho studiato un pò il linguaggio intel e mips leggendo poi sul libro di testo ho scoperto che in teoria scrivere un linguaggio in intel occupa meno spazio del linguaggio ad alto livello ma perchè visto che per scrivere in assembler devo usare molte righe di codice in più?
    Come "in teoria"?

    La versione ultrabreve è che QUALSIASI programma ad alto livello, alla fin fine, diventa linguaggio macchina.

    E l'assembler è strettamente collegato al linguaggio macchina del processore che si considera.
    ---
    Riguardo alla dimensione del codice un programma assembler, avendo istruzioni di basso livello e che fanno in generalo pochissimo, è composto da migliaia/milioni di righe con facilità.
    Considera che una singola riga assembler occupa un numero variabile di byte (per Intel) di [media del pollo] una decina di byte.

    Ad una singola riga di un linguaggio di alto livello possono corrispondere poche istruzioni assembler (anche una, due o poco più, come nel caso degli incrementi o shift), fino a centinaia di migliaia (es. allocazione di oggetti)
    ---
    I programmi assembler, in generale, son moooolto più piccoli perchè non si aggiunge la "croppa", ossia porzioni di programma inutili che vengono linkate (es. librerie statiche), e perchè si ha il pieno controllo su ogni singola parte

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    anni fa lessi su Amiga Magazine una prova molto tecnica su come far dimagrire un eseguibile e ti posso dire che l'articolo terminava dicendo che i compilatori oramai sono talmente specializzati che solo poche persone sono in grado di scrivere codice più breve ed afficace. Si deve essere bravia manipolare le varie opzioni del proprio compilatore. Ricordo che era partito con un semplice programma stile "Hello World" inizialmente di qualche decina di KB alla fine era diventato di 100/200 Byte

  5. #5
    Originariamente inviato da misterx
    anni fa lessi su Amiga Magazine una prova molto tecnica su come far dimagrire un eseguibile e ti posso dire che l'articolo terminava dicendo che i compilatori oramai sono talmente specializzati che solo poche persone sono in grado di scrivere codice più breve ed afficace.
    Magari non più breve, ma spesso più veloce. Il problema però è che spesso i compilatori non possono compiere alcune ottimizzazioni perché richiedono delle precondizioni non garantite dal linguaggio (vedi ad esempio il problema dell'aliasing in C e derivati), e verificarle effettivamente spesso è molto complesso per il compilatore, quando invece il programmatore potrebbe sapere che tali precondizioni sono sicuramente verificate.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    Originariamente inviato da MItaly
    Magari non più breve, ma spesso più veloce. Il problema però è che spesso i compilatori non possono compiere alcune ottimizzazioni perché richiedono delle precondizioni non garantite dal linguaggio (vedi ad esempio il problema dell'aliasing in C e derivati), e verificarle effettivamente spesso è molto complesso per il compilatore, quando invece il programmatore potrebbe sapere che tali precondizioni sono sicuramente verificate.
    ti assicuro che diventa più piccolo e di parecchio.
    L'articolo si intitolava "cura dimagrante". Cercando con google si trova proprio il numero che ne parla, ma bisogna essere iscritti, è un PDF http://www.google.it/search?hl=it&so...&aqi=&aql=&oq=

  7. #7
    Originariamente inviato da misterx
    ti assicuro che diventa più piccolo e di parecchio.
    L'articolo si intitolava "cura dimagrante". Cercando con google si trova proprio il numero che ne parla, ma bisogna essere iscritti, è un PDF http://www.google.it/search?hl=it&so...&aqi=&aql=&oq=
    Nono mi fido, è capitata una situazione analoga anche a me. Il "magari non più breve" era riferito ad assembly scritto a mano.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da misterx
    anni fa lessi su Amiga Magazine una prova molto tecnica su come far dimagrire un eseguibile e ti posso dire che l'articolo terminava dicendo che i compilatori oramai sono talmente specializzati che solo poche persone sono in grado di scrivere codice più breve ed afficace. Si deve essere bravia manipolare le varie opzioni del proprio compilatore. Ricordo che era partito con un semplice programma stile "Hello World" inizialmente di qualche decina di KB alla fine era diventato di 100/200 Byte
    mah... sarà... io sono stato abituato a scrivere programmi interi nei 1000 byte della memoria video.

    personalmente ho scritto videogiochi interi, tutti in assembler, di circa 30Kbyte, tutto compreso

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.