Manual80x86

Páginas: 29 (7187 palabras) Publicado: 22 de marzo de 2012
Introducción al ensamblador 80x86
Por: Sadot Alexandres Fernández Colaboran: Carlos Rodríguez Morcillo, Javier Goyanes. Departamento de Electrónica y Automática Escuela Técnica Superior de Ingeniería Universidad Pontificia Comillas de Madrid Febrero de 2004.

Índice I II III IV V VI - Hardware 80x86 - Instrucciones básicas. Ensamblador - Control de flujo y Entrada/Salida - Instruccionesaritméticas y procedimientos - Salida a Pantalla - Listado de Interrupciones

Referencias recomendadas al texto: • • • • • • Gavin Estey, 1996. http://burks.brighton.ac.uk/burks/language/asm/asmtut/asm1.htm “Borland Turbo Assembler Quick Referente”. Borland. "Intel Pentium Family User's Manual”: Volumen 3. URL de Borland: http://www.borland.com URL de Intel: http://www.intel.com “The RevolutionaryGuide to Assembly Language ”. Vitaly Maljugin, Jacov Izrailevich et al Wrox Press. ISBN: 1-874416-12-5

I – Hardware 80x86
Un poco de historia. El 80x86 de Intel comienza su andadura en 1981 con la versión 8086, hasta las nuevas versiones del Pentium, la primera en 1994. Todas ellas compatibles hacia atrás una con otra. Cada generación ha sumado nuevos atributos y mayor velocidad que la anterior,tal que hoy en día será muy difícil encontrar un microprocesador en operación de la primera generación, el 8088 o el 8086, puesto que son “muy lentos” y obsoletos. Sobre las versiones 286 y 386, se puede decir lo mismo, pero aquí es el software el que pide más proceso de cálculo. Hace unos años, los 486's se han reemplazado en su totalidad por los Pentiums, los Pentium PRO, los MMX, II, III, IV yV. Todos los CPUs de Intel mantienen un incremento en el rendimiento. En adelante se usará exclusivamente el modo más sencillo de operación de la arquitectura 80x86; el llamado modo real.

Recordando el binario
Antes de comenzar a describir lo que es el lenguaje ensamblador en 80x86, vamos a recordar cómo se representan los números en una CPU. Una CPU es la Unidad Central de Proceso dentro deun microprocesador, tal que la información en una CPU se representa en binario, esto es, usando base 2. Un BIT es el elemento que representa el elemento básico unidad. A partir de ahí tenemos: 1 NIBBLE: 0000 (4 BITS ). Es base del hexadecimal, e.j. 1111 = Fh. 1 BYTE: 00000000 (8 BITS) ó 2 NIBBLES 1 WORD: 0000000000000000 (16 BITS) ó 2 BYTES ó 4 NIBBLES. Es el tamaño usado para un registro de16-bit.

Registros
Los registros son los elementos principales de almacenamiento de la CPU. Pueden almacenar y mantener la información. En INTEL, existen tres tamaños de registros: de 8-bit, de 16-bit y de 32-bit (para versiones superiores al 386). Además, se especifican 4 tipos de registros básicos y registros de control: • • • • REGISTROS DE PROPÓSITO GENERAL, REGISTROS DE PILA, REGISTROS DE ÍNDICEy REGISTROS DE SEGMENTO

15

8

7

0

AH BH CH DH

AL BL CL DL

Bits AX BX CX DX SP BP SI DI

H=High

L=Low

(acumulador) (base) (contador) (datos) (puntero de pila) (puntero de base) (Indice a origen) (Indice a destino)

Registros de propósito general, de pila e índice.
IP FLAGS
(puntero de instrucciones) (registro de estado)

Registros de control

- Registros depropósito general.
Son cuatro registros de 16-bits etiquetados como AX, BX, CX y DX. Éstos se dividen en registros de 8-bits etiquetados como AH, que contiene el BYTE ALTO y AL que contiene el BYTE BAJO. A partir del 386 hay registros de 32 bits, que conservan al mismo nombre y una E que le precede, esto es: EAX. Estos registros se pueden usar indistintamente como: AL, AH, AX y EAX. Por tanto si, AXcontiene el número 24689 en decimal, tenemos que: AH 01100000 AL 01110001

6071 (hexadecimal)

- Registros de índices.
Estos registros de 16 bits también son llamados “registros punteros”. Su utilidad es para el uso de instrucciones que operan con cadenas de caracteres. Lo forman el registro de índice SI (origen) y el registro DI (destino). Al igual que los registros de propósito general,...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS