Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CAPÍTULO 4. ARQUITECTURA DE UN
COMPUTADOR SIMPLE
Luego, el ciclo se repite una y otra vez, instrucción por instrucción, para
toda la secuencia del programa.
Es claro que la unidad de control, que ahora cuenta con más señales de
control, también controla la RAM de programa.
4.1.3. TEMPORIZACIÓN.
Donde:
Ej. 4.1: Programa del ejemplo 3.5, esta vez ensamblado para la
arquitectura del computador simple.
; datos y variables
0 ?? x .oct ?
1 ?? y .oct ?
2 ?? z .oct ?
3 ?? aux .oct ?
4 03 const .oct MONTO
; secuencia de cálculo
.prog
0 20 in ; leer x
1 D0 sta x ; y guardar
2 20 in
3 D1 sta y
4 20 in
5 D2 sta z
; calcular f(x,y,z)
.fin
Diseño.
¿Qué pasa con 1? Este pulso sigue actuando sobre el acumulador y
sobre las banderas, en este caso el efecto debería ser nulo en el
resultado de la última operación antes de hlt (acumulador y banderas).
Para ello es preciso establecer los valores adecuados de los bits de la
palabra de control.
En los casos de las demás instrucciones, el nuevo bit de control S15 está
en uno.
Diseño.
.datos
x .oct ?
y .oct ?
max .oct ?
; secuencia de comparación
.prog
x_max: lda x
sta max
hlt
.fin
Se observa que las dos últimas operaciones del primer segmento están
repetidas en el segundo segmento, que tiene la etiqueta x_max (¡oh!,
una nueva regla en el lenguaje para el ensamblador), nombre simbólico
asignado a la dirección de memoria destino del salto.
.datos
x .oct ?
y .oct ?
max .oct ?
; secuencia de comparación
.prog
x_max: lda x
salida: sta max
hlt
.fin
Diseño.
Formato
Código de máquina simbólico de Palabra de estado
operación Descripción de la función
C.Op. Código de
Op. Arg. N Z V H P C
Hex argumento
0 x … x x clr 0 1 0 0 0 Cero aL Resultado
1 x … x x hlt Ninguna OPeración
2 x … x x in 0 Introducir dato externo
3 x … x x neg NEGativo de a
4 x … x x not NOT a
5 m … m m and dirmem 0 0 AND
6 m … m m or dirmem 0 0 OR
7 m … m m xor dirmem 0 0 XOR
8 m … m m add dirmem ADicionar Dato
9 m … m m sub dirmem SUBstraer
A x … x x inc INCrementar a
B x … x x dec DECrementar a
Leer Dato de memoria en el
C m … m m lda dirmem 0
Acumulador
depoSitar daTo del
D m … m m sta dirmem 0
Acumulador en la memoria
E m … m m bri dirmem BRincar Incondicionalmente
F m … m m brc dirmem BRincar si C es 1
.datos
0000 ?? x .oct ?
0001 ?? y .oct ?
0002 ?? max .oct ?
; secuencia de comparación
.prog
Ej. 4.2: Se emplea el mismo programa fuente del ejemplo anterior para
estudiar otro caso de dimensión. Los datos de dimensión son:
.datos
0 ?? x .oct ?
1 ?? y .oct ?
2 ?? max .oct ?
; secuencia de comparación
.prog