Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C/Assembly] Efficienza istruzioni

    Supponendo di poter approssimare che ogni famiglia di CPU possieda un unico linguaggio Assembly, e in questo caso particolare dovremmo poterlo fare, mi interessava sapere in particolare quante istruzioni macchina occorrono per:

    1) Effettuare un'operazione di assegnamento del tipo:

    codice:
    // date due variabili di tipo intero
    int x = 5;
    int y;
    
    // N operazioni macchina per l'istruzione sottostante ?
    y = x;
    Inoltre cosa cambia, sempre a livello di numero di istruzioni macchina, al cambiare del tipo considerato?



    2) Effettuare un'operazione di accesso diretto ad un elemento di un array del tipo:

    codice:
    // dato un array del tipo
    int a[ 2 ] = { 2, 55 };
    
    // N operazioni macchina per l'istruzione sottostante ?
    a[ i ]


    Grazie.

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Credo che basti il load ed il store con le varie varianti per l'indirizzamento. Poi ti servirebbe anche qualche istruzione dell'ALU ma dipende dall'arcitettura.
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Ricordo che il forum non è il luogo a cui delegare la risoluzione dei propri compiti a casa.

    Si proponga una soluzione, riportando anche il codice relativo, e in caso di difficoltà si spieghi il problema specifico o l'errore così da consentire agli altri utenti di poter dare una mano, senza però sobbarcarsi lo svolgimento dell'intero esercizio.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4

    Re: Moderazione

    Originariamente inviato da alka
    Ricordo che il forum non è il luogo a cui delegare la risoluzione dei propri compiti a casa.

    Si proponga una soluzione, riportando anche il codice relativo, e in caso di difficoltà si spieghi il problema specifico o l'errore così da consentire agli altri utenti di poter dare una mano, senza però sobbarcarsi lo svolgimento dell'intero esercizio.

    Io invece ricordo che prima di accusare qualcuno bisognerebbe almeno rendersi conto di ciò che si è letto...


    1) Nessuno ha parlato mai di compito/esercizio/etc..
    2) Nessuno ha mai chiesto che qualcun'altro risolvesse una cosa di tipo 1
    3) Nessuno ha parlato mai di risolvere un problema, semplicemente si chiedeva se qualcuno fosse a conoscenza di QUANTE, ripeto per chi non avesse ancora capito, QUANTE, istruzioni macchina servissero per effettuare determinate istruzioni, che personalmente ho voluto trascrivere utilizzando il linguaggio C (come da titolo oltretutto).
    4) Se non si sa la risposta non si posta scrivendo "mi dispiace non so la soluzione" o ancora peggio, riprendendo l'utente per qualcosa che non ha fatto. Si aspetta come ho fatto io che qualcuno più sapiente dello stesso risponda qualora voglia.

    In ogni caso ringrazio linoma, ma soprattutto chi potrà rispondere alla mia domanda.


  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    466
    Qualche giorno fa su amazon tramite vista previa ho visto un libro che trattava anche le caratteristiche delle singole istruzioni assembly, ossia nº di clocks per second, istruzioni binarie necessarie, tempo di esecuzione etc.. Sfortunatamente non mi ricordo più il nome del libro, se lo ripesco te lo segnalo, forse ti può interessare. Comunque se non sbaglio ha molto a che vedere con l'elettronica digitale, quindi dipende dall'architettura..

    EDIT:
    Il libro in questione è Fundamentals of Digital Logic and Microcomputer Design di Mohamed Rafiquzzaman.
    Vedi se ti può interessare..

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Re: Re: Moderazione

    Originariamente inviato da GliderKite
    Io invece ricordo che prima di accusare qualcuno bisognerebbe almeno rendersi conto di ciò che si è letto...


    1) Nessuno ha parlato mai di compito/esercizio/etc..
    2) Nessuno ha mai chiesto che qualcun'altro risolvesse una cosa di tipo 1
    3) Nessuno ha parlato mai di risolvere un problema, semplicemente si chiedeva se qualcuno fosse a conoscenza di QUANTE, ripeto per chi non avesse ancora capito, QUANTE, istruzioni macchina servissero per effettuare determinate istruzioni, che personalmente ho voluto trascrivere utilizzando il linguaggio C (come da titolo oltretutto).
    4) Se non si sa la risposta non si posta scrivendo "mi dispiace non so la soluzione" o ancora peggio, riprendendo l'utente per qualcosa che non ha fatto. Si aspetta come ho fatto io che qualcuno più sapiente dello stesso risponda qualora voglia.

    In ogni caso ringrazio linoma, ma soprattutto chi potrà rispondere alla mia domanda.

    Magari è necessario, comunque, leggere il Regolamento interno per sapere che:

    9. Rapporto con i moderatori.
    I moderatori sono disponibili per chiarimenti, consigli e critiche costruttive attraverso i messaggi privati
    Quindi, prima di "replicare" all'intervento del collega, del tutto legittimo dati i modi con cui hai posto la questione, avresti quanto meno dovuto leggere il regolamento ed agire di conseguenza.
    Ricorda che la maggior parte degli interventi dei moderatori avvengono dopo la segnalazione degli utenti... ergo: non è stato l'unico ad intendere ciò che poi ha scritto.
    Forse, con un più attento esame del tuo post ed un po' più di autocritica, avresti potuto evitare questo inutile sfogo, del tutto fuori luogo.

    Si prosegua con la discussione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.