[Practico 6][Ejercicio 1] MOV,MOVR,LOAD

[Practico 6][Ejercicio 1] MOV,MOVR,LOAD

de Jonathan Braian Javiel Berrospe -
Número de respuestas: 1

hola, consulto por que no veo clara la diferencia entre estas 3 instrucciones, especialmente que vendria a ser Inm?

En respuesta a Jonathan Braian Javiel Berrospe

Re: [Practico 6][Ejercicio 1] MOV,MOVR,LOAD

de Gustavo Brown -

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