Tarea assembler
El ASSEMBLER es el lenguaje más básico y sin embargo es un lenguaje complejo que da al programador el control absoluto sobre la máquina.
El lenguaje ASSEMBLER es realmente el código simbólico asociado a cada función del microprocesador del ordenador. El código es un nemotécnico (representación simbólica abreviada) de una instrucciónmáquina binaria real.
La forma específica de un lenguaje ensamblador depende de la arquitectura y configuración de la máquina a la que proporcionará soporte. El componente que tiene mayor impacto sobre el diseño del ensamblador es la unidad central de procesamiento (CPU).
El término original Assembly denota el lenguaje simbólico (programa fuente) y el término Assembler se refiereal compilador (programa que traduce el lenguaje fuente a objeto). Normalmente se hace referencia a ambos, sin distinción, como ASSEMBLER.
Algunas de las ventajas que ofrece el aprender a escribir un programa en lenguaje ASSEMBLER son:
Conocer en mayor profundidad el funcionamiento básico de la máquina.
Ganar rapidez en la ejecución de los programas.
Tener acceso a TODAS lasposibilidades del ordenador.
Entender mejor cómo funcionan los lenguajes de alto nivel.
Reducir el tamaño final de un programa.
En esta bolilla estudiaremos el ASSEMBLER del procesador 8088/8086 bajo el sistema operativo DOS. Este ASSEMBLER es un subconjunto del ASSEMBLER de los procesadores 80286 en adelante.
CAPÍTULO 1: LA MEMORIA. EL ALMACENAMIENTO
BIT El dígito binario esla unidad de almacenamiento
[pic]
Figura 1. Nibble, byte y palabra.
BYTE Un byte es la unidad de direccionamiento de la memoria. Los bits de la memoria se agrupan en bytes, a razón de 8 bits por byte.
El 1er. byte de la memoria corresponde a la dirección 0 (cero), el 2do. a la dirección 1, ..., etc. Los bits dentro del byte se numeran de derecha a izquierda . Es decirdesde el LSB (bit menos significativo) al MSB (bit mas significativo).
Un Byte puede ser descompuesto en 2 grupos de 4 bits denominados Nibbles. Un Nibble puede almacenar un carácter hexadecimal.
Agrupaciones de bits:
Los ocho bits de un byte no permiten manipular confortablemente los datos de todos los problemas de programación, por lo que existen otras formas de agrupar losmismos.
|Definición |Denominación |Longitud |Valor Máximo |Positivo |Negativo |
|DB |BYTE |8 bits |162-1 = 28-1 = 255 |+27-1 = 127 |-27 = 128 |
|DW |PALABRA (ó WORD) |2 Bytes |164-1 = 65535 = 64K|+215-1 |-215 |
|DD |DOBLE PALABRA |4 Bytes |168-1 |+231-1 |-231 |
|DQ |CUADRUPLE PALABRA |8 Bytes |1616-1 |+263-1 |-263 |
|DT |DECABYTE |10Bytes | | | |
Tabla 1. Agrupaciones de bits.
En longitud, cuando decimos 2 o más byte, nos referimos a 2 o más bytes consecutivos en direcciones de memoria.
Los valores contenidos dentro de estas agrupaciones, se almacenan en memoria en orden inverso . El LSB (byte menos significativo) se almacena primero yel MSB (byte mas significativo) último. Ejemplo:
|Tipo |Valor |Almacenamiento |
|BYTE |01h |01 |
|PALABRA (ó WORD) |0123h |2301 |
|DOBLE PALABRA...
Regístrate para leer el documento completo.