Entradas

2.5 Saltos

Imagen
Saltos. Los saltos son instrucciones que permiten al programador cambiar el orden de ejecución del programa según sea necesario, dentro de ensamblador existen dos tipos de salto principales: condicionales e incondicionales. Saltos Incondicionales: Los saltos incondicionales se utilizan mediante la instrucción JMP, la cual transfiere el control a la línea especificada después de la palabra JMP, la cual puede ser un valor directo o una etiqueta. También se puede contar como un salto incondicional la instrucción CALL, la cual llama una procedimiento y al terminarla devuelve el control a la línea siguiente de donde se inicio la llamada a procedimiento, pero eso se ve con más detalle en la sección 3.1. Ejemplo: Salto:  Etiqueta a la que se hará referencia para el salto incondicional. JMP Salto:  Instrucción que indica que el flujo del programa continuara desde la ubicación de la etiqueta Salto. Saltos Condicionales: Los saltos condicionales transfieren el contr...

2.4 Comparacion y prueba

Imagen
Comparación y prueba. La comparación y prueba son instrucciones especiales con las que cuenta el microprocesador, estas son CMP y TEST respectivamente. Comparación (CMP): Esta instrucción compara los dos valores que se le den como parámetros y modifica las banderas de signo (SF), de cero (ZF) y de acarreo (CF) según sea necesario. Ejemplo: CMP ah,10h:  Compara el valor almacenado en el registro ah con el valor 10 hexadecimal. Prueba (TEST): Verifica que los valores que se le introduzcan como parámetros sean iguales relizando la operación lógica AND, no almacena ningún resultado pero modifica banderas según sea necesario. Ejemplo: TEST al, 1:  Verifica que el valor almacenado en al sea 1.

2.3 Captura básica de cadenas

Imagen
Captura básica de cadenas. Dentro del lenguaje ensamblador no existe el tipo de dato cadena (string en otros lenguajes), por lo que para utilizarla es necesario tratar a las cadenas como un conjunto de caracteres reservados bajo el nombre de una sola variable. El lenguaje ensamblador cuenta con instrucciones que por su naturaleza sirven para el manejo de cadenas, estas son: MOVSB: Mueve un byte desde una localidad de memoria hasta otra. MOVSW: Mueve una palabra desde una localidad de memoria hasta otra. LODSB: Carga en la parte baja del registro acumulador (AL) el valor de la localidad de memoria determinada por DS:SI. LODSW: Carga en el registro acumulador (AX) el valor de la localidad de memoria determinada por DS:SI. Ejemplo:

2.2 Ciclos numericos

Imagen
 Ciclos numéricos La arquitectura de los procesadores x86 obliga al uso de segmentos de memoria para manejar la información, el tamaño de estos segmentos es de 64kb. La razón de ser de estos segmentos es que, considerando que el tamaño máximo de un número que puede manejar el procesador esta dado por una palabra de 16 bits o registro, no sería posible accesar a más de 65536 localidades de memoria utilizando uno solo de estos registros, ahora, si se divide la memoria de la pc en grupos o segmentos, cada uno de 65536 localidades, y utilizamos una dirección en un registro exclusivo para localizar cada segmento, y entonces cada dirección de una casilla específica la formamos con dos registros, nos es posible accesar a una cantidad de 4294967296 bytes de memoria, lo cual es, en la actualidad, más memoria de la que veremos instalada en una PC. Para que el ensamblador pueda manejar los datos es necesario que cada dato o instrucción se encuentren localizados en el área ...

2.1 Ensamblador (y ligador) a utilizar

Imagen
Ensamblador (y ligador) a utilizar.  Ensamblador (y ligador) a utilizar Aunque todos los ensambladores realizan básicamente las mismas tareas, podemos clasificarlos de acuerdo a características. Así podemos clasificarlos en: Ensambladores Cruzados (Cross-Assembler). Se denominan así los ensambladores que se utilizan en una computadora que posee un procesador diferente al que tendrán las computadoras donde va a ejecutarse el programa objeto producido. El empleo de este tipo de traductores permite aprovechar el soporte de medios físicos (discos, impresoras, pantallas, etc.), y de programación que ofrecen las máquinas potentes para desarrollar programas que luego los van a ejecutar sistemas muy especializados en determinados tipos de tareas. Ensambladores Residentes. Son aquellos que permanecen en la memoria principal de la computadora y cargan, para su ejecución, al programa objeto producido. Este tipo de ensamblador tiene la ventaja de que se puede comprobar inmediatamente el ...

Desplegado de mensajes en el Monitor

Imagen
DESPLEGADO DE MENSAJES EN EL MONITOR Desplegado de mensajes en el monitor. Para poder desplegar un mensaje en el monitor es necesario que el texto a desplegar se escriba en la RAM de visualización de video, para después ser enviado al monitor mediante el controlador de video. El controlador de video es en sí un microprocesador de propósito especial, que libera a la CPU pri ncipal del trabajo de controlar el hardware de video. Para hacer esto se pueden utilizar varios de los servicios con los que cuenta el lenguaje ensamblador, los cuales se describen con detalle en el apéndice A. Para detener la pantalla y permitir al usuario ver lo que se ha desplegado en la misma se utiliza el servicio 00 de la interrupción 16h. Ejemplo: mov dx,65       ->           Asignar el Valor 65 ASCII al registro DX mov ah,02h     ->           Asignar el valor 02h al registro AH, qu...

Proceso de ensamblado y ligado

Imagen
PROCESO DE ENSAMBLADO Y LIGADO Proceso de ensamblado y ligado. El proceso de ensamblado es el mismo sin importar el ensamblador que se está utilizando, aunque para las explicaciones se utilizara la sintaxis del ensamblador Turbo Assembler el cual fue desarrollado por Borland y el enlazador Turbo Linker. Al escribir un programa en lenguaje ensamblador es necesario utilizar u n editor de texto y guardar el archivo con la extensión asm para que sea reconocida por el ensamblador. Una vez contando con el programa con extensión asm es necesario acceder con la consola a la ubicación del archivo y escribir “TASM  Archivo.asm ” siendo Archivo el nombre del archivo creado anteriormente, el nombre del archivo no debe superar los 8 caracteres, debe empezar con letra y no debe contener caracteres especiales. Si el archivo cumple los requisitos entonces el ensamblador producirá un código objeto, el cual es una traducción a código máquina del programa, en caso de que el ensambl...