Questa è una vecchia versione del documento!
Strumenti per l'analisi del codice D-RISC
Ciò che viene presentato in questa pagina è sperimentale. Potrebbero esserci errori e si potrebbero verificare malfunzionamenti. Se foste interessati a contribuire (testing, debugging, sviluppo) potete scaricare e modificare il codice a vostro piacimento. Se apportate modifiche significative, inviate il codice modificato al docente che lo renderà disponibile su questa pagina.
Analisi delle dipendenze
Il codice che segue serve a trovare le dipendenze logiche in codice D-RISC. Il software funziona come dovuto su assembler privo di salti (ovvero non tiene conto dell'effetto dei salti). Il software è realizzato in Ocaml.
Le istruzioni assembler sono rappresentate come indicato nella definizione dei tipi (statement “type” nel codice Ocaml). Insieme al codice sono definite un certo numero di funzioni per il pretty printing di codice e dipendenze.
Per utilizzare il codice, seguite questi passi.
Codice D-RISC scrivere un file “prog.ml” con la definizione del programma da utilizzare, secondo le convenzioni della grammatica definita nel file asm.ml Ad esempio, possiamo scrivere nel file:
let p = [ LabInstr(LabLab("loop"),LD(Reg(5),Reg(1),Reg(10))); Instr(LD(Reg(6),Reg(1),Reg(11))); Instr(ADD(Reg(10),Reg(11),Reg(12))); Instr(ST(Reg(7),Reg(1),Reg(12))); Instr(INC(Reg(1))); Instr(IFLE(Reg(1),Reg(2),LabLab("loop"))); Instr(END); ];;