lunes, 18 de febrero de 2019

Unidad No.1-Registros en el lenguaje ensamblador

Estos son los únicos registros que pueden usarse de modo dual (en 8 o 16 bits). Los registros de la CPU son conocidos por sus nombres propios, que son:
·· AX (acumulador)
·· BX (registro base)
·· CX (registro contador)
·· DX (registro de datos)
·· DS (registro del segmento de datos)
·· ES (registro del segmento extra)
·· SS (registro del segmento de pila)
·· CS (registro del segmento de código)
·· BP (registro de apuntadores base)
·· SI (registro índice fuente)
·· DI (registro índice destino)
·· SP (registro del apuntador de pila)
·· IP (registro del apuntador de siguiente instrucción)
·· F (registro de banderas)
El registro AX se usa para almacenar resultados, lectura o escritura desde o
hacia los puertos. 
El BX sirve como apuntador base o índice.
 El CX se utiliza en operaciones de iteración, como un contador que automáticamente se incrementa o decrementa de acuerdo con el tipo de instrucción usada. 
El DX se usa como puente para el acceso de datos.
El DS es un registro de segmento cuya función es actuar como policía donde se encuentran los datos. Cualquier dato, ya sea una variable inicializada o no, debe estar dentro de este segmento. La única excepción es cuando tenemos programas del tipo *.com, ya que en éstos sólo puede existir un segmento. 
El registro ES tiene el propósito general de permitir operaciones sobre cadenas, pero también puede ser una extensión del DS.
El SS tiene la tarea exclusiva de manejar la posición de memoria donde se encuentra la pila (stack) Esta es una estructura usada para almacenar datos en forma temporal, tanto de un programa como de las operaciones internas de la computadora personal (PC, por sus siglas en inglés) En términos de operación interna, la CPU usa este segmento para almacenar las direcciones de retorno de las llamadas a rutinas. 
El registro de segmentos más importante es el CS o segmento de código. Es aquí donde se encuentra el código ejecutable de cada programa, el cual está directamente ligado a los diferentes modelos de memoria.
El registro BP (base pointer) se usa para manipular la pila sin afectar al registro de segmentos SS.
 Es útil cuando se usa interfaz entre lenguajes de alto nivel y el ensamblador. Puesto que dicha interfaz se basa en el concepto de la pila BP, nos permite acceder parámetros pasados sin alterar el registro de segmento SS.
 Los registros SI y DI son útiles para manejar bloques de cadenas en memoria, siendo el primero el índice fuente y el segundo el índice destino. En otras palabras, SI representa la dirección donde se encuentra la cadena y DI la dirección donde será copiada.
El registro SP apunta a un área específica de memoria que sirve para almacenar datos bajo la estructura LIFO (último en entrar, primero en salir), conocida como pila(stack) El registro IP (instruction pointer) apunta a la siguiente instrucción que será ejecutada en memoria.

No hay comentarios.:

Publicar un comentario

Unidad No.3: Mejora programa # 9: Letras de colores(Versión Ingrid Sauceda)

Ejecución del programa: Código: include 'emu8086.inc' Mostrar Macro Mensaje     LEA DX,Mensaje ;mandamos el mensaje a leer     MO...