LENGUAJE ENSAMBLADOR

LENGUAJE ENSAMBLADOR

GUÍA PRÁCTICA

CHARTE OJEDA, FRANCISCO

14,80 €
IVA incluido
Editorial:
ANAYA MULTIMEDIA
Año de edición:
2009
Materia
Informatica y tecnología
ISBN:
978-84-415-2549-8
Páginas:
320
Colección:
Guía práctica
14,80 €
IVA incluido
Añadir a favoritos

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.

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

  • INTELIGENCIA ARTIFICIAL. CARTOGRAFÍA DE UNA REVOLUCIÓN
    DEL CASTILLO, CARLOS
    COLECCIÓN GEOPOLÍTICA ILUSTRADA: LIBROS PARA ENTENDER EL MUNDO DE UN VISTAZO ¿Revolución tecnológica o nuevo orden mundial Una visión panorámica de lo que engloba la inteligencia artificial y de cómo está transformando el mundo a base de microchips, datos y algoritmos. 6 grandes temas y 50 preguntas clave para entender cómo la IA está sacudiendo los cimientos políticos, económi...
    Disponible en tienda

    17,90 €

  • LOS TRUCOS DE IPHONE QUE APPLE NUNCA TE CONTARÁ
    VIDAL (@SNOFLAA), ALFONS - SNOFLA
    "Deja de adaptarte al teléfono y haz que el iPhone se adapte a tu estilo de vida".Es muy probable que lleves en el bolsillo uno de los dispositivos más potentes del mundo, pero ¿realmente le sacas partido o solo lo usas como despertador, email y redes sociales? A menudo nos frustramos pensando que nuestro móvil es muy caro para el uso que le damos, cuando la realidad es que tie...
    Disponible en tienda

    24,95 €

  • CONTRA LA BAZOFIA DIGITAL
    LOZANO, IRENE
    "En apenas unos años, los modelos de lenguaje de la IA han irrumpido en profesiones creativas, colonizado oficinas, las redes sociales, e inundado internet de «bazofia digital»: textos impecables en apariencia, pero faltos de humanidad. ...
    Disponible en tienda

    18,90 €

  • UNA VIDA SIEMPRE EN LÍNEA
    VILALTA VAQUÉ, ARIADNA
    "Pensábamos que Internet era una herramienta. Hoy es el lugar donde vivimos psicológicamente. ...
    Disponible en tienda

    21,90 €

  • GENERACIÓN IA
    LÁZARO ÁVILA, MARÍA
    Al debate sobre cómo, cuándo y por qué dar acceso (o no) a niños y adolescentes a las pantallas, móviles y redes sociales, se añade ahora otro ingrediente digital: la inteligencia artificial.En realidad, la IA no es un fenómeno nuevo: llevamos conviviendo con ella desde hace años, muchas veces de forma invisible. Ahora, la «democratización» de aplicaciones y herramientas de IA ...
    Disponible en tienda

    22,95 €

  • CÓDIGO LIMPIO. SEGUNDA EDICIÓN
    MARTIN, ROBERT C.
    Con la segunda edición de Código limpio, Robert C. Martin ("Uncle Bob") revitaliza la guía clásica para la artesanía del software con perspectivas actualizadas, un alcance más amplio y contenido enriquecido. Esta nueva edición, una reescritura completa del superventas original, está preparada para transformar el modo en que los desarrolladores abordan la creación de código y pr...
    Disponible en tienda

    62,50 €

Otros libros del autor

  • INTRODUCCIÓN A LA PROGRAMACIÓN
    CHARTE OJEDA, 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...
    Disponible en 48/72 horas laborables

    31,95 €

  • DELPHI 8.NET. BIBLIA
    CHARTE OJEDA, FRANCISCO
    No disponible

    55,80 €