DISASSEMBLATORE E BUG

di il
5 risposte

DISASSEMBLATORE E BUG

Ciao ragazzi, mi sto accingendo, a fare un pò di pratica con il MIPS...
Sto studiando un librone, che tratta il MIPS e l'assembler per 8086.
La prima parte riguarda le istruzioni in MIPS
Avrei inazzitutto da porre questa domana.
Ricordo di aver già affrontato questo discorso...
Correggetemi se sbaglio.

Ogni architettura MIPS, 8086 ecc
è l'equiivalente dell linguaggio macchina, da questo si deduce, che ogni architettura ha il suo linguaggio "assembler".
Di conseguenza, un architettura intel, può essere affrontata utilizzando un linguaggio "assembler" 8086. Il MIPS non va bene
Viceversa, per una cpu Motorola (se non ricordo male) bisogna utilizzare il linguaggio MIPS.
Vale a dire che per ogni architettura vi è un dialetto "assembler".

Cosa vorrei fare?
.Scrivere del codice in 'C'
.Utilizzare un disassemblatore, per estrapolare, dal file che mi creo, il codice, tradotto in "assembler"
.Utilizzare una funzione scanf() e cercare i bug presenti in questa funzione...(so per sentito dire che la scanf() ha qualche bug)
.Essere capace di prendere il controllo della CPU, tramite un registro SP/IP
Ammetto di essere un pò confuso,.
Non so nemmeno se è chiaro quello che vorrei sperimentare
Grazie Ciao!!

5 Risposte

  • Re: DISASSEMBLATORE E BUG

    In effetti se parti coi dubbi che hai ti stai ponendo un "vaste programme" a dir poco.

    Ogni architettura (* a dir la verità bisognerebbe precisare, ma pazienza) ha un SUO linguaggio macchina e un SUO Assembly.

    L'assembly x86 è del tutto diverso da quello MIPS, che è del tutto diverso da quello Motorola 68K e così via.

    Riguardo a quello che vuoi fare avrai una certa sopresa: il programma C di poche righe diventerà ragionevolmente centinaia una volta compilato (mentre un programma assembler equivalente scritto "a mano" sarà di una dozzina).
    Buona fortuna!
  • Re: DISASSEMBLATORE E BUG

    Sei sicuramente confuso ...

    Che c'entra la scanf con

    "Essere capace di prendere il controllo della CPU, tramite un registro SP/IP "

    che fra l'altro è una attività che non ha senso ... ?

    Alla fine, se quello che vuoi fare è studiare l'Assembly, fallo, e per cortesia, non giocare a fare l' "acher" ma studia con serietà.
  • Re: DISASSEMBLATORE E BUG

    Sono confusissimo!!! ho capito le istruzioni in MIPS, che sono diverse da quelle in x8086, ma sono ugualmente pari, a livello di istruzione come dato di fatto per x8086. La questione è che voglio rendere più "divertente, appasionante" il tutto e volevo capire certe meccanismi s'innescano...
    Ma il tutto è fatto con serietà.
    Su un famoso libro, costantemente ad ogni capitolo, o paragrafo, arriva sta fresa, che alla fine che magari comprende il mondo acher. La frase famosa è nel libro di Tanenbaum...
    Ma io voglio solo imparare.. E da soli è veramente impegnativo a livello di tempo...
    Spreco 10 volte anche 100 volte più tempo.
    Tante volte cerco di risolvere da solo, ma poi mi trovo a :"chiedo aiuto, altrimenti non ne esco più"
    Non si tratta di acher, voglio solo divertirmi...
    Poter controllare arduino e fargli accendere una luce rispetto ad un altra, piuttosto che, quella indicata nel programma
    Essere in grado di poter fare tutto col computer...
    Per poi dedicamrmi alla programmazione
  • Re: DISASSEMBLATORE E BUG

    Quindi la domanda specifica di questo thread qual è ?

    Non puoi discutere di tutto e di più ...

    Mips è una cosa ...
    x86 un'altra ...
    Arduino ancora un'altra ...
  • Re: DISASSEMBLATORE E BUG

    Sfortunatamente sono costretto a chiudere il presente thread, invitando a formulare in modo corretto e intelligibile solo domande specifiche.
Devi accedere o registrarti per scrivere nel forum
5 risposte