Skip to content

Scripts

Paolo Chiappini edited this page Jun 29, 2023 · 1 revision

Gli script nella directory /test/scripts permettono di interpretare un file ELF personalizzato e di rilocare gli indirizzi contenuti nelle istruzioni di jal per adattarsi alla struttura ridotta della memoria.

Uso degli script

ELF reader

Per interpretare il file e produrre lo stato iniziale della memoria è sufficiente eseguire lo script elf_reader come segue:

~/mips/test> node ./scripts/elf_reader.js elf_file.txt initial_mem_state.txt

Lo script di interpretazione richiama a sua volta lo script di rilocazione delle istruzioni di jal.

Struttura del file ELF

Il file può contenere fino a 2 intestazioni: .text e .data, l'ordine non è importante, nel caso la stessa intestazione compaia più volte potrebbe causare dei problemi, pertanto è importante che siano uniche.

Esempi di file ELF sono:

.text
00100000100001000000000000000010
00001100000100000000000000001000
00100000010100000000000000000000
10101111101100000000000000000000
.data
00001100000100000000010000010011
00001100000100000000001000010011
.text
00100000100001000000000000000010
00001100000100000000000000001000
00100000010100000000000000000000
10101111101100000000000000000000
.data
00001100000100000000010000010011
00001100000100000000001000010011
.text
00100000100001000000000000000010
00001100000100000000000000001000
00100000010100000000000000000000
10101111101100000000000000000000

Rilocazione degli indirizzi

Per rilocare gli indirizzi delle istruzioni jal è sufficiente eseguire lo script relocator.js come segue:

~/mips/test> node ./scripts/relocator.js file_to_relocate.txt
Clone this wiki locally