Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TP Wombat
TP Wombat
md 11/26/2021
Lo primero que hicimos fue agregar la nueva instruccion a la Wombat1, pero utilizando un nuevo
formato creado por nosotros, op inm.
Y en esta instruccion utilizamos una microinstruccion tambien creada por nosotros, que lo que hace es
guardar los 12 bits de operndo del ir en el acc, pero salteando los primeros 4 bits, ya que el acc tiene
16 bits, y solo queremos guardar 12.
ir(4-15)-> acc
End
Entonces, lo que hace esta instrucción es traer el operando del ir (que no es una dirección de
memoria, sino un valor) y guardarlo en el acc.
6. Agregar a Wombat 1, la instrucción loop. Proponer un programa ejemplo que utilice dicha instrucción.
Lo primero que hicimos fue agregar la nueva instruccion a la Wombat1, utilzando como formato op
addr.
Decidimos usar el registro acc para saber cuantas veces se va a realizar el loop (simulando el registro
ecx.)
if(acc<=1)skip-3
ir(4-15)->mar
mar->pc
Dec1-acc
End
1/2
TP-Wombat.md 11/26/2021
if(acc<=1)skip-3 = Lee 16 bits del acc, usando comparasion LE, con el valor 1 y omitiendo 3
microinstrucciones.
Entonces, lo que hace esta instrucción es, primero chequear que el acc no sea menor o igual a 1
(Debido a que el loop se utiliza al final del ciclo, de esta forma nos aseguramos que realice las
instrucciones hasta acc = 1).
Luego guarda la direccion de memoria del operando en el mar (Es decir, la direccion de la etiqueta), y
la guarda en el program counter, haciendo que la próxima instrucción a ejecutar sea esa etiqueta.
Y por ultimo decrementa en 1 el acc (ya que el loop cicla en base al acc, y de otra forma sería un bucle
infinito).
2/2