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
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

  • CULTURA HACKER DE LA A A LA Z
    CRAWLEY, KIM
    La cultura hacker puede ser misteriosa, pero esta entretenida guía de referencia está aquí para ayudar. Escrita por Kim Crawley, una investigadora de ciberseguridad y escritora experimentada, esta guía de referencia divertida te presenta a personas y empresas importantes, ideas fundamentales junto con películas, juegos y revistas que marcaron hitos en los anales de la piratería...
    Disponible en tienda

    34,95 €

  • EL SUEÑO DE LA INTELIGENCIA ARTIFICIAL
    BAÑOS, GISELA
    Desde el legendario Talos hasta Chat GPT, la humanidad ha fantaseado con la posibilidad de construir máquinas pensantes. Esta es la historia de ese sueño. El sueño de construir seres artificiales pensantes es tan antiguo como la misma humanidad, pero solo en fechas muy recientes se establecieron las bases tecnológicas para hacerlo posible. Desde Ada Lovelace a Turing y Von Neum...
    Disponible en tienda

    19,90 €

  • ¿ORDENAR PRIMERO? UN EJERCICIO PERSONAL EN DISEÑO DE SOFTWARE EMPÍRICO
    BECK, KENT
    El código desordenado es un fastidio. 'Limpiar' el código, para que sea más legible, requiere dividirlo en fragmentos manejables. El autor de esta guía práctica, Kent Beck, creador de la programación extrema y pionero de los patrones de diseño de software, sugiere cuándo y dónde podemos aplicar limpiezas u ordenaciones para mejorar el código, teniendo en mente al mismo tiempo l...
    Disponible en tienda

    24,95 €

  • INTELIGENCIA ARTIFICIAL
    MITCHEL, MELANIE
    Melanie Mitchell separa la ciencia real de la ciencia ficción en este amplio examen del estado actual de la IA y de cómo está rehaciendo nuestro mundo. Ninguna empresa científica reciente ha resultado tan seductora, aterradora y llena de extravagantes promesas y frustrantes reveses como la inteligencia artificial. La galardonada autora Melanie Mitchell, una destacada científica...
    Disponible en tienda

    26,00 €

  • INFERENCIA Y DESCUBRIMIENTO CAUSAL EN PYTHON
    MOLAK, ALEKSANDER
    En comparación con el aprendizaje automático tradicional y las estadísticas, los métodos causales presentan desafíos únicos. Aprender causalidad puede ser difícil, pero ofrece distintas ventajas que escapan a una mentalidad puramente estadística. Este libro ayuda a liberar todo el potencial de la causalidad.El libro comienza con las motivaciones básicas del pensamiento causal y...
    Disponible en tienda

    37,95 €

  • ANALÍTICA DE DATOS CON PYTHON PARA MARKETING DIGITAL
    RUIZ DÍEZ, JOSEBA / HERVÁS OLVERA, UBALDO
    Queremos que las personas que se dedican al marketing digital aprendan lo que se están perdiendo por no saber Python. Esta fue la premisa que los autores, Ubaldo Hervás y Joseba Ruiz, plantearon como principal en el momento de creación de este libro. Ya seas especialista en marketing o analítica digital, CRO, SEO, performance, email marketing o social media, te interesa conocer...
    Disponible en tienda

    29,95 €

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

    29,95 €

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

    55,80 €