No, i PC "normali" sono macchine con architettura Intel x86 IA32 o IA64.Originariamente inviato da Phobos21
Non so se ho una macchina MIPS ma non penso (ho linux in architettura i686, non so se è quello che si intende, in ogni caso come faccio a sapere che tipo di macchina è?)
Non ne ho idea, non ho mai usato gcj.Se non è MIPS ma è un altra architettura, come posso far compilare un codice in MIPS? Ci sono dei modi che forzano la compilazione in mips?
Credo che imparare l'assembly in questa maniera sia piacevole e utile come dare testate ad un muro. Il codice che genera un compilatore Java è un gran casino perché deve supportare tutte le facility che Java mette a disposizione (classi, garbage collector, eccetera), e soprattutto se è ottimizzato è difficile trovare la corrispondenza istruzione Java-gruppo di istruzioni assembly, perché il paradigma di programmazione è completamente diverso (le classi e i metodi Java devono essere trasformati in una sequenza di istruzioni con salti, rendendo irriconoscibile la struttura originaria) e le ottimizzazioni modificano anche pesantemente il codice (spostandolo prima o dopo, effettuando loop unrolling eccetera) per renderlo più veloce/più compatto pur mantenendo globalmente la medesima funzionalità.Ditemi di si, mi serve per vedere come java "traduce" le varie istruzioni in linguaggio assembly, proprio per imparare questo linguaggio che è un po' difficile se non si fa un po' di pratica oltre alle cose che vengono scritte sul libro.![]()
Insomma, per programmare in assembly devi pensare in maniera diversa rispetto al Java, visto che, come già detto, il paradigma di programmazione è profondamente differente.