LENGUAJE ENSAMBLADOR

LENGUAJE ENSAMBLADOR

GUÍA PRÁCTICA

CHARTE, FRANCISCO

13,80 €
IVA incluido
Editorial:
ANAYA MULTIMEDIA, S.A.
Año de edición:
2009
ISBN:
978-84-415-2549-8
Páginas:
320
Encuadernación:
Otros
Colección:
GUIA PRACTICA PARA USUARIOS

Disponibilidad:

  • Calle Doce de OctubreConsulte disponibilidad
  • Calle Valeriano MirandaConsulte disponibilidad

Introducción

¿Qué es el lenguaje ensamblador?

Aplicaciones de la programación en ensamblador

El lenguaje ensamblador de los x86

8, 16, 32 y 64 bits

A quién va dirigido este libro



Cómo usar este libro

Estructura de la guía

Ejercicios resueltos y propuestos

Convenciones tipográficas



1. Conceptos fundamentales

1.1. Introducción

1.2. Arquitectura de un microprocesador

1.2.1. La unidad de control

1.2.2. La unidad aritmético lógica

1.2.3. El banco de registros

1.2.4. Buses

1.2.5. Diseños clásicos

1.3. Arquitectura de los x86

1.3.1. Modos de funcionamiento

1.3.2. Banco de registros

1.3.3. El registro de estado

1.4. Sistemas de numeración

1.4.1. El sistema binario

1.4.2. El sistema hexadecimal

1.4.3. Notación al expresar datos numéricos

1.5. Representación de datos en memoria

1.5.1. Caracteres y cadenas de caracteres

1.5.2. Números enteros

1.5.3. Números enteros con signo

1.5.4. Otros formatos de representación

1.6. Resumen



2. Cómo escribir y ejecutar código ensamblador

2.1. Introducción

2.2. Editar código ensamblador

2.2.1. Editores genéricos

2.2.2. Editores específicos

2.3. Ensamblado o compilación

2.3.1. MASM

2.3.2. NASM

2.3.3. Visual C++ y GCC

2.4. Depuración de programas en ensamblador

2.5. Entornos integrados

2.6. Cómo se trabajará en este libro

2.6.1. Edición, ensamblado y depuración con Visual C++

2.6.2. Código ensamblador embebido en GCC

2.6.3. Comprobación de los ejemplos con MASM o NASM

2.7. Resumen



3. Transferencia de datos

3.1. Introducción

3.2. Instrucciones de transferencia de datos

3.3. Modos de direccionamiento

3.3.1 Direccionamiento por registro

3.3.2. Direccionamiento inmediato

3.3.3. Direccionamiento directo

3.3.4. Direccionamiento indirecto

3.3.5. Direccionamiento indexado

3.3.6. Direccionamiento escalado

3.4. Modos de direccionamiento y registros de segmento

3.5. Acceso a memoria mediante punteros

3.5.1. Etiquetas de datos en ensamblador

3.5.2. Variables C/C++ como etiquetas de datos

3.5.3. Obtener la dirección de una etiqueta

3.5.4. Punteros compuestos de segmento y desplazamiento

3.6. Trabajar con la pila

3.6.1. Inicialización de la pila

3.6.2. La pila en el ensamblador embebido

3.7. Otras operaciones de transferencia de datos

3.7.1. Intercambio de datos

3.7.2. Búsqueda indexada

3.7.3. Transferencia condicional

3.8. Resumen



4. Estructuras de control

4.1. Introducción

4.2. Saltos condicionales y bits de estado

4.2.1. Instrucciones que afectan al registro de estado

4.2.2. Inspección de los bits de estado durante la depuración

4.2.3. Instrucciones de salto condicional

Igualdades y desigualdades

Relación entre números sin signo

Relación entre números con signo

Otras instrucciones de salto

4.3. Implementación de estructuras condicionales

4.3.1. Condicionales simples

4.3.2. Condicionales con puerta falsa

4.3.3. Condicionales compuestos

4.3.4. Condicionales con operando común

4.4. Implementación de bucles

4.4.1. Bucles controlados por condición

4.4.2. Bucles controlados por contador

4.4.3. Bucles anidados

4.5. Resumen



5. Cálculos aritméticos

5.1. Introducción

5.2. Operaciones aritméticas básicas

5.2.1. Sumas

Conversiones de tamaño

Sumas con acarreo

5.2.2. Restas

5.2.3. Incrementos y decrementos

5.2.4. Productos

5.2.5. Divisiones

5.3. Formatos BCD y ASCII

5.4. Operaciones aritméticas en punto flotante

5.4.1. Representación de números en punto flotante

Normalización de la mantisa

Codificación del exponente

Codificación del signo

5.4.2. Registros de la FPU

5.4.3. Tipos de datos

5.4.4. Introducción de datos en la FPU

5.4.5. Ejecución de operaciones

5.4.6. Recuperación de datos de la FPU

5.4.7. Ejemplo práctica de uso de la FPU

5.5. Resumen



6. Trabajar al nivel de bits

6.1. Introducción

6.2. Operaciones booleanas

6.2.1. La operación lógica OR

6.2.2. La operación lógica AND

6.2.3. La operación lógica XOR

6.2.4. La operación lógica NOT

6.3. Comprobación de bits individuales

6.4. Rotaciones y desplazamientos

6.4.1. Rotación de bits

6.4.2. Desplazamiento de bits

6.5. Instrucciones avanzadas de trabajo con bits

6.6. Resumen



7. Estructuración del código

7.1. Introducción

7.2. Llamadas y retornos de subrutinas

7.2.1. Llamada a una subrutina

Llamadas inter-privilegio

Llamadas inter-tarea

7.2.2. Cuerpo de una subrutina

7.2.3. Retorno de una subrutina

7.2.4. Una rutina de retardo

7.3. Transferencia de parámetros y resultados

7.3.1. A través de registros

7.3.2. A través de la pila

7.3.3. A través de memoria compartida

7.3.4. Devolución de resultados y de errores

7.4. Procedimientos externos en ensamblador

7.4.1. Prólogo y epílogo

7.4.2. Acceso a los parámetros de entrada y devolución de resultados

7.4.3. Compilación, ensamblado y enlace

7.5. Resumen



8. Procesar cadenas de bytes

8.1. Introducción

8.2. Aspectos genéricos

8.2.1. Punteros de origen y destino

8.2.2. Sentido del recorrido

8.3. Transferencia de datos individuales

8.3.1. Repetición automática

8.4. Transferencia de bloques de memoria

8.5. Búsquedas y comparaciones en cadenas de datos

8.5.1. Búsqueda de un dato en una cadena

8.5.2. Comparación de cadenas

8.6. Resumen



9. Ensamblador en entornos de 16 bits

9.1. Introducción

9.2. Segmentación de la memoria

9.2.1. Registros de segmento

9.2.2. Aritmética de generación de direcciones

9.2.3. Acceso a datos alojados en la memoria

9.3. Acceso a los servicios del DOS

9.3.1. Entrada y salida por la consola

9.3.2. Comunicación serie y paralelo

9.3.3. Fecha y hora

9.3.4. Gestión de memoria

9.4. Acceso a los servicios de la BIOS

9.4.1. Acceso al adaptador de vídeo

9.4.2. Lectura del teclado

9.4.3. Configuración del sistema

9.4.4. Acceso a unidades de disco

9.4.5. Puertos serie y paralelo

9.4.6. Fecha y hora

9.5. Resumen



10. Ensamblador en entornos de 32 bits

10.1. Introducción

10.2. El modo protegido

10.2.1. Registros de control del procesador

10.2.2. Modificación de los registros de control

10.2.3. Segmentos y selectores

10.2.4. Descriptores de segmentos

Tipos de segmentos

10.2.5. Tablas de descriptores

10.2.6. De vuelta a los selectores de segmento

10.2.7. Direccionamiento en modo protegido

10.2.8. Entrada y salida del modo protegido

Preparación de la GDT

Cálculo de direcciones físicas

Núcleo del programa

10.2.9. Interrupciones en modo protegido

10.3. DPMI

10.3.1. Anfitriones DPMI

10.3.2. Clientes DPMI

10.3.3. Detectar la presencia de un anfitrión DPMI

10.3.4. Activación del modo protegido

10.3.5. Servicios DPMI

10.3.6. Un ejemplo

10.4. Extensores DOS

10.5. Resumen



A. Referencia de instrucciones

A.1. Instrucciones aritméticas

A.2. Instrucciones lógicas y de rotación/desplazamiento

A.3. Instrucciones de conversión

A.4. Instrucciones de cadena

A.5. Instrucciones de transferencia de datos

A.6. Instrucciones de control de flujo

A.7. Instrucciones de entrada/salida

A.8. Instrucciones de control

A.9. Otras instrucciones



B. Soluciones a los ejercicios



Índice alfabético

El lenguaje ensamblador es un recurso, un medio más que un fin, utilizado en la mayoría de titulaciones relacionadas con la informática para acercar al estudiante a las interioridades de los microprocesadores, facilitándole el conocimiento de su arquitectura, así como su funcionamiento. En muchos casos, este lenguaje se utiliza, no para desarrollar una aplicación completa, sino para mejorar la velocidad de ciertas partes de un programa.



Con esta guía adquirirá una gran cantidad de conocimientos útiles que van desde saber cómo se almacenan ciertos tipos de datos en la memoria, la arquitectura de un microprocesador, editar código ensamblador, procesar cadenas de bytes, hasta aprender a utilizar los servicios de la BIOS que incorpora todo ordenador.

Artículos relacionados

  • PROGRAMACIÓN DE MICROCONTROLADORES ARM DE 32 BITS EN C S CON RASPBERRY
    MIGUEL LUNA, RENE
    Este libro ofrece una formación práctica y rigurosa para aprender a desarrollar firmware profesional en lenguaje C utilizando la Raspberry Pi Pico W y el microcontrolador RP2040, una de las plataformas ARM de 32 bits más versátiles y accesibles del mercado.A lo largo de la obra, el lector descubre los fundamentos de la arquitectura ARM Cortex-M0+, el manejo directo de registros...

    24,90 €

  • ACCESIBILIDAD DIGITAL. CURSO PRÁCTICO
    FERNÁNDEZ CASADO, PABLO ENRIQUE
    Este libro constituye una guía actualizada sobre la accesibilidad digital, orientada tanto a la comprensión de la nueva Ley EAA como a su aplicación práctica en entornos reales. A lo largo de sus capítulos, el lector adquiere una visión global de la accesibilidad web y documental, entendida como un requisito técnico, legal y ético imprescindible para garantizar el acceso univer...

    29,90 €

  • INFORMÁTICA E INTERNET BÁSICO PARA MAYORES
    MONTEPINAR, GRUPO
    Este libro es una guía práctica y cercana pensada especialmente para personas mayores que desean aprender a utilizar el ordenador y el teléfono móvil con tranquilidad y confianza. Explicado paso a paso y con un lenguaje claro, permite adquirir las competencias digitales necesarias para desenvolverse en la vida cotidiana. La obra está centrada especialmente en Windows 11 y el pa...

    19,90 €

  • HACIA UN INTERNET MÁS LIBRE
    JORGE SCHNURA
    ¿Y si pudieras ser el verdadero dueño de tu yo digital?En un mundo en el que unos pocos gigantes tecnológicos deciden qué vemos, qué pensamos y qué somos en línea, este libro propone una revolución: la Web 3.0. A través de un viaje apasionante que une historia, tecnología y crítica social, el autor desenmascara los mecanismos de control de la Internet actual y muestra cómo la t...

    23,95 €

  • FACEBOOK PARA MAYORES
    MARTOS RUBIO, ANA
    Facebook es la red social más popular de Internet. En un mundo dinámico, supone toda una evolución social que cuenta con cientos de millones de usuarios por su sencillez de uso y por su capacidad de llegar a cualquier lugar o persona. Si usted se encuentra en esa edad en la que, después de haber disfrutado de muchas cosas, no quiere perderse nada del mundo actual, este libro ...

    15,00 €

  • TWITTER PARA MAYORES
    MARTOS RUBIO, ANA
    Twitter no es un misterio ni un secreto para iniciados. En un mundo dinámico, supone toda una evolución social que cuenta con cientos de millones de usuarios por su sencillez de uso y por su capacidad de llegar instantáneamente a cualquier punto y persona. Si usted se encuentra en esa edad en la que, después de haber disfrutado de muchas cosas, no quiere perderse nada del mund...

    15,00 €

Otros libros del autor

  • INTRODUCCIÓN A LA PROGRAMACIÓN
    CHARTE, FRANCISCO
    Vivimos rodeados de dispositivos inteligentes que se caracterizan por ser, en mayor o menor medida, programables. Desde las Smart TV a nuestro teléfono móvil, pasando por las aplicaciones que empleamos a diario en nuestro ordenador, como el navegador web, la hoja de cálculo, etc., todos pueden ser personalizados y automatizados creando programas. Mediante la programación es po...

    31,95 €

  • ACCESS 2016
    CHARTE, FRANCISCO
    Access 2016 es la última de las versiones del programa para gestión de bases de datos y generación de aplicaciones de Microsoft. Con este manual aprenderás a utilizarla, durante veinte lecciones muy didácticas y de complejidad ascendente. Este libro explica con detalle las principales funciones de Access 2016. Es esencial para usuarios interesados en profundizar en sus herrami...

    31,95 €

  • WORD 2016
    CHARTE, FRANCISCO
    Microsoft Word es la aplicación para la edición de textos más difundida en el mundo, un programa concebido para alcanzar la máxima productividad. Podrá crear con rapidez documentos profesionales y compartir el trabajo gracias a las excelencias de las nuevas herramientas de colaboración, además accederá a los documentos en la nube cuando y donde los necesite. Este manual contie...

    29,95 €

  • EXCEL 2016
    CHARTE, FRANCISCO
    Microsoft Excel es una potente aplicación para realizar cálculos, análisis de datos y representación gráfica de información. Disponible para Windows, OS X, iOS, y Android, la versión 2016 incorpora nuevas opciones que conceden más funcionalidad al programa. Dispone además de nuevos tipos de gráficos, mecanismos adicionales de selección y transformación de datos y mejoras para l...

    35,95 €

  • EXCEL 2016
    CHARTE, FRANCISCO
    Microsoft Excel es una potente aplicación para la realización de cálculos, análisis de datos y representación gráfica de información. Disponible para Windows, OSX, iOS, y Android, la versión 2016 incorpora nuevas opciones que facilitan el acceso a la funcionalidad del programa. Con esta didáctica guía el usuario novel de Excel aprenderá rápidamente a desenvolverse en su entorn...

    16,00 €

  • SQL
    CHARTE, FRANCISCO
    SQL es el lenguaje estándar para el tratamiento de datos en ordenadores. Tanto si somos usuarios de una aplicación de ofimática (Access por ejemplo) como si nuestro objetivo es administrar servidores de datos o desarrollar aplicaciones, es imprescindible que conozcamos SQL. El contenido cada uno de los veinte capítulos en que se estructura este libro sigue un enfoque didáctico...

    27,50 €