lunes, 18 de enero de 2016

Examen

Explica el Fetch.
Es el que se encarga de controlar los tiempos de las ordenes

Como maneja la memoria la familia 86.

Que es el set de instrucciones.
Son los comando con los que fue programada la computadora para poder comunicarse con la maquina desde una interfaz.

Explica la estructura pepiline.

Explica como se haría un programa para recibir datos desde otro computador.

Cuantos prosadores hay en realidad en los procesadores de la familia 86 y como funcionan.

Que es el IP y para que sirve.
La IP es el registro de instrucciones, sirve como una interpretación de movimientos, ubicación de  los resultados.

Que significa registro ax, contra ah y al
Ax: Acumulador (ah y al son sus particiones)

Que hace la interrupción 20h
Es una orden de interrupción que ordena terminar el programa.


Que se necesita previamente para que se ejecute un salto condicional.

Se necesita una comparación, ya siendo verdadero o falso se dará la condición.

No e podido terminar a tiempo debido a que encontré el examen faltando 15 minutos a las 12.

domingo, 10 de enero de 2016

Seudocódigo para resta de binarios.

Sistema para realizar resta de dos números binarios en 16 bits
Escriba el primer numero binario.
Leer "n1 - n16"
Escribir el segundo numero binario
Leer "b1 - b16"
Escribir n1-n16

Operación
Repetir "b1>b16" Si "b1>b16"=0 Escribir b
hasta que b=1

Si b=0 entonces Escribir 1

Sino Escribir 0

Resultado= n1>n16 + b1>b16

Si Resultado = 17 núm. = Resultado+1
Sino Entonces 1=0 y 0=1

Escribir Resultado.


Instrucciones de control.

Instrucciones de transferencia de control (No afectan los flags):

JMP label
Saltar hacia la dirección label.
CALL label
Ir al procedimiento cuyo inicio es label. Para llamadas dentro del mismo segmento equivale a PUSH IPJMP label, mientras que para llamadas entre segmentos equivale a PUSH CSPUSH IPJMP label.
RET
Retorno de procedimiento.
RET inmed
Retorno de procedimiento y SP <- SP + inmed.
Variaciones de la instrucción de retorno:
RETN [inmed]
En el mismo segmento de código. Equivale a POP IP [:SP <- SP + inmed].
RETF [inmed]
En otro segmento de código. Equivale a POP IPPOP CS [:SP <- SP + inmed]
Saltos condicionales aritméticos (usar después de CMP):
  • Aritmética signada (con números positivos, negativos y cero)
    JL etiqueta/JNGE etiqueta
    Saltar a etiqueta si es menor.
    JLE etiqueta/JNG etiqueta
    Saltar a etiqueta si es menor o igual.
    JE etiqueta
    Saltar a etiqueta si es igual.
    JNE etiqueta
    Saltar a etiqueta si es distinto.
    JGE etiqueta/JNL etiqueta
    Saltar a etiqueta si es mayor o igual.
    JG etiqueta/JNLE etiqueta
    Saltar a etiqueta si es mayor.
  • Aritmética sin signo (con números positivos y cero)
    JB etiqueta/JNAE etiqueta
    Saltar a etiqueta si es menor.
    JBE etiqueta/JNA etiqueta
    Saltar a etiqueta si es menor o igual.
    JE etiqueta
    Saltar a etiqueta si es igual.
    JNE etiqueta
    Saltar a etiqueta si es distinto.
    JAE etiqueta/JNB etiqueta
    Saltar a etiqueta si es mayor o igual.
    JA etiqueta/JNBE etiqueta
    Saltar a etiqueta si es mayor.
Saltos condicionales según el valor de los indicadores:
JC label
Saltar si hubo arrastre/préstamo (CF = 1).
JNC label
Saltar si no hubo arrastre/préstamo (CF = 0).
JZ label
Saltar si el resultado es cero (ZF = 1).
JNZ label
Saltar si el resultado no es cero (ZF = 0).
JS label
Saltar si el signo es negativo (SF = 1).
JNS label
Saltar si el signo es positivo (SF = 0).
JP/JPE label
Saltar si la paridad es par (PF = 1).
JNP/JPO label
Saltar si la paridad es impar (PF = 0).
Saltos condicionales que usan el registro CX como contador:
LOOP label
Operación: CX <- CX-1. Saltar a label si CX<>0.
LOOPZ/LOOPE label
Operación: CX <- CX-1. Saltar a label si CX <> 0 y ZF = 1.
LOOPNZ/LOOPNE label
Operación: CX <- CX-1. Saltar a label si CX <> 0 y ZF = 0.
JCXZ label
Operación: Salta a label si CX = 0.
Interrupciones:
INT número
Salva los flags en la pila, hace TF=IF=0 y ejecuta la interrupción con el número indicado.
INTO
Interrupción condicional. Si OF = 1, hace INT 4.
IRET
Retorno de interrupción. Restaura los indicadores del stack.

Entre 20 y 200 lineas de código.
Cada modulo realiza una tarea en su totalidad.


Optimización de diseño.
Programación modular: Consiste en dividir un programa en unidades mas pequeñas.


Diseño descendiente. Establecer la jerarquía de la programación modular.

                                   Diagrama estructurado.

Código estructurado.           Diagramas de flujo y seudocodigo.