Sto lavorando su un R4000, considerando queste due righe scritte in C:
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?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;
Considerando che l'encoding del salto è:
ooooooii iiiiiiii iiiiiiii iiiiiiii
o = 6 bit per l'istruzione j(000010)
i = 26 bit per la label

Rispondi quotando
...allora cerco di fare un esempio.