I simulatori del processore MIPS non sono uguali, quindi ci sono piccole differenze fra SPIM e MARS. In Mars non si può impostare il PC che è fisso a 0x400000 all'atto del caricamento. Quindi la prima istruzione del programma che si vuole eseguire deve essere posta a tale indirizzo tramite la direttiva .text 0x400000 (cosa non vera nella versione 2 del programma case scritto pensando di usarlo con SPIM, con avvio all'indirizzo 0x400200; nome file Case_Switch_2.asm). Analogo discorso vale per l'impostazione automatica del PC tramite " .global " e nome " __start: " per l'etichetta associata alla prima istruzione che è specifica di SPIM e non vale per MARS. Faccio notare che era scritto nel commento presente nel sorgente che riporto di seguito: #Inoltre usa la direttiva .globl per #impostare in automatico in SPIM il PC #e facilitare l'inserimento dei break point