Hoe binair naar MIPS te converteren

Binaire gegevens zijn een reeks van enen en nullen die vaak 'machinetaal' worden genoemd.

Bepaal welke actie uw MIPS-programma zal uitvoeren. Bijvoorbeeld: "Add $t1, $t2, $t3" is de MIPS-code om de inhoud van register 10 toe te voegen aan register 11 en het resultaat op te slaan in register 9. De "bestemming" is $t1, de "bron" is $t2 en het "doel" is $t3.

Haal het binaire bestand op voor de codering van de "add." De binaire codering voor deze toevoeging moet worden uitgevoerd in MIPS is "0000 00ss ssst tttt dddd d000 0010 0000." De aanwijzingen die bij de toevoeging betrokken zijn, zijn $ 9, $ 10 en $11. Daarom zou het binaire bestand voor de vijf "s"-bits voor register 9 zijn, in binair weergegeven als "10001". De vijf stukjes voor "t" zou voor register 10 zijn, in binair weergegeven als "10010." En de "d" bits worden weergegeven als "10011" voor 11.

Als u deze informatie gebruikt en de binaire string "0000 0010 0011 0010 1001 1000 0010 0000" geeft, kunt u deze met dezelfde methode terugvertalen naar MIPS. Op basis van de binaire codering van de add-methode in MIPS, weet u dat de eerste zes waarden nul zijn en de laatste 11 "000 0010 0000".

Begin met het zevende cijfer en tel vijf bits. Die waarde is het "bron"-register, "10 001". De tweede reeks van vijf bits is de waarde van het "doel" en de volgende vijf, de "bestemming". Als register 12 waarnaar wordt verwezen als de "bestemming", zou de binaire tekenreeks er als volgt uitzien: "0000 0010 0011 0010 1010 0000 0010 0000" waarbij "1010 0" de waarde is voor 12.