Saltar al contenido principal
Ensamblador. Edición 2009

Ensamblador. Edición 2009

Ensamblador

Charte, Francisco

El lenguaje ensamblador permite programar un sistema al más bajo nivel, aprovechando toda su potencia y controlando directamente los elementos más cercanos al hardware. La programación en ensamblador facilita, además, el desarrollo del pensamiento analítico indispensable en todo profesional que se dedique a la construcción de software, al tener que dividir los problemas hasta s...

Editorial:
Anaya Multimedia
Año de edición:
2009
Materia:
Programación
ISBN:
978-84-415-2511-5
Páginas:
800
Encuadernación:
Rústica
48,40 €
IVA incluido
Añadir a favoritos

Sinopsis

El lenguaje ensamblador permite programar un sistema al más bajo nivel, aprovechando toda su potencia y controlando directamente los elementos más cercanos al hardware. La programación en ensamblador facilita, además, el desarrollo del pensamiento analítico indispensable en todo profesional que se dedique a la construcción de software, al tener que dividir los problemas hasta sus operaciones más básicas.



Con esta obra aprenderá a crear programas en ensamblador sin necesidad de conocimientos previos sobre lenguajes de bajo nivel, crear aplicaciones de 32 bits que aprovechen el modelo plano de acceso a memoria, aprovechar los servicios de bajo nivel ofrecidos por la BIOS, así como multitud de servicios DOS y Linux, incluyendo el acceso a disco, generación de gráficos o utilización de ratón, así como descubrirá los secretos de la creación de aplicaciones residentes para DOS que funcionan incluso en consolas DOS de Windows.



Además, en el CD-ROM adjunto, encontrará todos los ejemplos que se han descrito en los capítulos, tanto en versión fuente como ensamblada.

Índice

Agradecimientos



Introducción

Microprocesadores

Sistemas hardware y sistemas operativos

Objetivos de este libro



1. Microprocesadores y sistemas basados en microprocesador

Del circuito integrado al microprocesador

Evolución de los microprocesadores

Fueron los primeros

Microprocesadores de 8 bits

Microprocesadores de 16 bits

CISC versus RISC

Microprocesadores modernos

Microprocesadores versus microcontroladores

Arquitectura común de una CPU

Arquitectura común de un sistema basado en microprocesador

Resumen



2. Representación de datos en ordenadores

Bases de numeración

Sistemas de numeración informáticos

Cálculo del valor de una cifra

Conversión entre bases de numeración

Conversión a la base decimal desde cualquier base

Conversión a cualquier base desde la base decimal

Operar con números binarios

Bits, nibbles y bytes

Números con signo

Operar con números hexadecimales

De binario a hexadecimal y viceversa

Números negativos en hexadecimal

Números en base ocho

Identificación de la base de un número

Representación de números enteros

Big endian vs Little endian

Representación BCD

Representación de números en coma flotante

Normalización de la mantisa

Codificación del exponente

Codificación del signo

Representación de caracteres y cadenas

Resumen



3. Arquitectura de la familia de microprocesadores x86

Estructura de bloques

Banco de registros

El registro de estado

Generación de direcciones

Patillaje del 8086

Buses de direcciones y datos

Modos de funcionamiento

Gestión de interrupciones

Los sucesores del 8086

Resumen



4. Sistemas basados en microprocesadores x86

Estructura de bloques

Generador de reloj - 8284

Controlador de bus - 8288

Reloj programable - 8253

Interfaz programable de periféricos - 8255

Controlador programable de interrupciones - 8259

Controlador de acceso directo a memoria - 8237

Resumen



5. Modos de direccionamiento

Direccionamiento por registro

Direccionamiento inmediato

Direccionamiento directo

Direccionamiento indirecto

Direccionamiento indexado

Registros de segmento por defecto

Modos de direccionamiento del 80386

Resumen



6. Conjunto de instrucciones

Instrucciones aritméticas

Instrucciones lógicas y de rotación/traslación

Instrucciones de conversión

Instrucciones de cadena

Instrucciones de transferencia de datos

Instrucciones de control de flujo

Instrucciones de entrada/salida

Instrucciones de control

Otras instrucciones

Resumen



7. Herramientas necesarias

Editores

DOS

Windows

Linux

Ensambladores

MASM

NASM

Otros ensambladores

RAD y ensamblador

Enlazadores

Depuradores

Otras herramientas

Resumen



8. Nuestro primer programa

Esqueleto de un programa mínimo

Programas COM en DOS

El código

Ensamblado y enlace

Programas EXE en DOS

Versión MASM

Versión NASM

Ensamblado y enlace

Programas Linux

El código

Ensamblado y enlace

Programas Windows

El código

Ensamblado y enlace

Resumen



9. Ejecución de un programa

Formatos de archivo ejecutable

Ejecutables en DOS

Ejecutables en Linux

Ejecutables en Windows

Detalles sobre formatos de archivo

Preparación del programa por parte del sistema

Recuperación de la cabecera del ejecutable

Asignación de bloques de memoria

Creación de un proceso

Configuración de registros

Segmentos de código, datos y pila

El puntero de instrucción

Base y puntero de la pila

Acceso a los datos

Resumen



10. Registros y memoria

Unidades de información

Palabras y dobles palabras

Múltiplos del byte

Capacidad de direccionamiento

Registros de segmento

Párrafos y segmentos

Modelos de memoria

Registros de uso general

Asignación de valores

Valores inmediatos

Asignación entre registros

Lectura de datos de la memoria

Escritura de datos en la memoria

Definición de datos en el programa

Campos simples

Conjuntos de campos

Referencias al segmento de datos

Un ejemplo

Resumen



11. Depuración

Puesta en marcha del depurador

Nombres de archivos DOS

Apertura desde DEBUG

Análisis del programa

Direcciones, instrucciones y código máquina

Traducción de etiquetas

Examen del contenido de datos

Estado inicial de los registros

Ejecución paso a paso

Depuración de rutinas y BIOS

Ejecución hasta un cierto punto

Alteración del curso del programa

Modificar el contenido de un registro

Cambiar los datos en memoria

Ensamblar nuevas instrucciones

Otras posibilidades de DEBUG

Resumen



12. Operaciones aritméticas

Suma de dos números

Desbordamiento y acarreo

Suma con acarreo

Sumas de 32 bits con registros de 16

Restar un número de otro

Multiplicar dos números

Dividir un número entre otro

Incrementos y reducciones

Aritmética BCD

Números BCD empaquetados y sin empaquetar

Suma de números BCD

Otras operaciones con números BCD

Negativos, palabras y dobles palabras

Uso de la unidad de punto flotante

Registros de la FPU

Tipos de datos

Introducción de datos en la FPU

Ejecución de operaciones

Recuperación de datos de la FPU

Un sencillo ejemplo

Resumen



13. Condicionales

El registro de indicadores

Obtención y restauración del registro de indicadores

Comparación de valores

Igualdad y desigualdad

Menor y mayor que

Instrucciones de manipulación de bits

Activación de bits individuales

Desactivación de bits individuales

Otras operaciones lógicas

Comprobación de bits individuales

Rotación y desplazamiento de bits

Resumen



14. Bucles

Bucles con saltos condicionales

Instrucciones para implementar bucles

Casos concretos

Bucles con condición compuesta

Bucles anidados

Transferencia de datos

Resumen



15. Estructuración del código

Procedimientos

Llamada a un procedimiento

Retorno de un procedimiento

Salvaguarda de los registros

Transferencia de parámetros

Una rutina de espera

Instrucciones de E/S

Comunicación con el reloj del sistema

Código de la rutina

Un ejemplo de uso

Macros

Macros simples

Expansión de la macro

Macros complejas

Archivos de macros y procedimientos

Resumen



16. Manipulación de secuencias de bytes

Orígenes, destinos e incrementos

Recuperación y almacenamiento de datos

Conversión de binario a decimal

Almacenamiento de valores

Repetición automática de la o

Información de seguridad

  • Cargando la información ...

Artículos relacionados

Comprender los Algoritmos

Comprender los Algoritmos

Y. Bhargava, Aditya

Un enfoque accesible para aprender sobre algoritmos con ilustraciones y ejemplos prácticos. 320 páginas.La mirada de Luces: Perfecto para quienes desean adentrarse en el mundo de la programación sin complicaciones. ...

✅ Disponible

36,95 €

Micropython en Proyectos. Una Introducción Práctica a la Programación de Microco

Micropython en Proyectos. Una Introducción Práctica a la Programación de Microco

Padin Romero, Beatriz / Dapena Janeiro, Ad / Padín Romero, Beatriz / Dapena Janeiro, Adriana

Guía práctica para desarrollar proyectos en MicroPython, ideal para principiantes y entusiastas. 266 páginas.La mirada de Luces: Perfecto para quienes desean iniciarse en la programación de microcontroladores de manera práctica. ...

✅ Disponible

22,80 €

Guía de Programación en C/C++

Guía de Programación en C/C++

Lopez, Eliezer

Manual para aprender a programar en C y C++, con ejemplos y ejercicios prácticos. 400 páginas.La mirada de Luces: Esencial para quienes desean adentrarse en el mundo de la programación. ...

✅ Disponible

30,50 €

Python Black Hat. Programación para Hackers y Pentesters

Python Black Hat. Programación para Hackers y Pentesters

Arnold, Tim / Seitz, Justin

Cuando se trata de crear herramientas de hackeo potentes y eficaces, Python es el lenguaje elegido por la mayoría de los analistas de seguridad. En este libro explorarás el lado más oscuro de las capacidades de Python: todo, desde escribir sniffers de red, robar credenciales de correo electrónico y acceder a directorios y carpetas por la fuerza hasta crear fuzzers de mutación, ...

✅ Disponible

32,95 €

Curso Práctico con Unity 3D

Curso Práctico con Unity 3D

Cantón Nadales, David

Guía para el desarrollo de videojuegos con Unity, desde fundamentos hasta creación de builds. 360 páginas.La mirada de Luces: Ideal para quienes desean adentrarse en el mundo del desarrollo de videojuegos de forma práctica. ...

✅ Disponible

30,50 €

Curso de Programacion con Rust

Curso de Programacion con Rust

Lopez, Eliezer

Introducción a la programación en Rust, un lenguaje enfocado en la seguridad y el rendimiento. 400 páginas.La mirada de Luces: Perfecto para desarrolladores que buscan un lenguaje moderno y eficiente. ...

✅ Disponible

31,95 €

Otros libros del autor

Introducción a la Programación

Introducción a la Programación

Charte, Francisco

Manual que enseña los conceptos fundamentales de programación aplicables a diversos dispositivos y software. Ideal para principiantes. 472 páginas.La mirada de Luces: Perfecto para quienes desean adentrarse en el fascinante mundo de la programación. ...

Entrega 3/5 días

31,95 €

Access 2016

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

🚫 Descatalogado

31,95 €

Word 2016

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

❌ Agotado

29,95 €

Excel 2016

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

Entrega 3/5 días

35,95 €

Excel 2016

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

❌ Agotado

18,50 €

Sql

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

🚫 Descatalogado

28,00 €