Inm es un inmediato (de la cantidad de bits que "entran" en la instrucción). Para saber cuantos bits entran tenes que resolver la parte A del problema (probablemente te quede que el inmediato es de 8 bits, porque utilizas 4 bits para indicar código de operación + 4 bits para indicar registro de destino y te quedan 8 bits libres para indicar el inmediato a copiar).
El pseudocódigo de esas instrucciones es (denotando el arreglo UR[x] al registro x de la unidad de registros y Mem como el arreglo que modela la memoria:
- MOV Inm, Reg : UR[Reg] := Inm Ejemplo: Mov 125, R5 pondría el inmediato(constante) 125 en el registro R5
- MOVR Reg1, Reg2: UR[Reg2] := UR[Reg1] Ejemplo: Mov R5, R8 copia el valor contenido en R5 al registro R8
- LOAD Reg1, Reg2: UR[Reg2] := Mem[UR[Reg1]] Ejemplo: Load R6, R7 con R6 valiendo 100 copia la palabra ubicada a partir de la dirección 100 de memoria en el registro R7. Es decir que trae el dato en memoria apuntado por el registro R6 y lo ubica dentro del registro R7
Saludos,
Gustavo