Sto lavorando su un R4000, considerando queste due righe scritte in C:
codice:
// routine mips
int code[21]={0x23BDFFF4, 0xAFA20008, 0xAFA30004, 0xAFA80000, 0x00000000, 0x00000000, 0x00421021, 0x00631821, 0x00021400, 0x00431021, 0x8C480000, 0x84C301EC, 0xA5030000, 0x25080002, 0xAC480000, 0x8FA80000, 0x8FA30004, 0x8FA20008, 0x23BD000C, 0x0A7082E1, addr_new_vet};
// ottengo l'indirizzo di dove è stata allocata la funzione scritta in mips
unsigned int addr_code = (int)&code;
Partendo dal valore in addr_code, come ottengo il relativo opCode (espresso come stringa di 32 bit) per un salto incondizionato j (jump) all'indirizzo della routine mips?
Considerando che l'encoding del salto è:
ooooooii iiiiiiii iiiiiiii iiiiiiii
o = 6 bit per l'istruzione j(000010)
i = 26 bit per la label