Hola! Estoy teniendo unas dudas con el ultimo ejercicio de Arquitectura y sistemas operativos. Ejercicio sobre Assembly:

Alguien podria darme una guia paso a paso de como hacerlo? O decirme si voy bien?



Definiciones:

PC (Program Counter): Indica la siguiente instrucción a ejecutar.

AC (Acumulador): Registro para realizar operaciones (sumas, etc).

IR (Instruction Register): Guarda la instrucción actual que se está ejecutando.

Z (Zero flag): Indica si el resultado de la última operación fue cero.



Opcodes:

1: Carga el valor de la dirección en el AC.

2: Guarda el valor del AC en una direccion de memoria.

3: Suma el valor de la dirección de memoria especificada al AC.

4: Si Z=1 (si y solo si), salta a la dirección de memoria especificada. // Nunca se ejecuta

5: Suma el valor de la dirección de memoria especificada al AC.

6: Salta a la dirección de memoria especificada (siempre).



Indices:



| Indice | Valor | Tipo | |

| ------ | ----- | --------- | -------------------------- |

| 300 | 1940 | Almacenar | Guarda 0003 (I 940) en AC |

| 301 | 3940 | Resta | Resta 0001 a AC; AC = 0002 |

| 302 | 6943 | Jump | Salta a 943 |

| ---- | ---- | | |

| 940 | 0003 | Variable | |

| 941 | 0001 | Variable | |

| 942 | 1200 | Almacenar | |

| 943 | 5902 | Suma | Suma el valor de 902 a AC |



### Pasos



##### Inicio:

PC = 300

IR = 1940

AC = 0000

Z = 0



Se ejecuta el PC (300)



##### Primer paso:



PC: 301

IR: 1940

AC = 0003 (Valor del indice 940)



La operacion es 1940, por lo que (1) Cargo el valor de un indice (940) en AC

940 Tiene 0003



##### Segundo paso:



PC: 302

IR: 3941

AC = 0002 (Se le resta 0001, el valor de 931)



##### Tercer paso:



PC: 943

IR: 6943

AC = 0002



Este es un salto directo a 943.



##### Cuarto paso:



PC: 944

IR: 5902

Hola Estoy teniendo unas dudas con el ultimo ejercicio de Arquitectura y sistemas operativos Ejercicio sobre AssemblyAlguien podria darme una guia paso a paso d class=

Respuesta :