Programación en ensamblador

Page 7

CC-BY-SA • PID_00178132

7

Introducción

En este módulo nos centraremos en la programación de bajo nivel con el fin de conocer las especificaciones más relevantes de una arquitectura real concreta. En nuestro caso se trata de la arquitectura x86-64 (también denominada AMD64 o Intel 64). El lenguaje utilizado para programar a bajo nivel un computador es el lenguaje de ensamblador, pero para facilitar el desarrollo de aplicaciones y ciertas operaciones de E/S, utilizaremos un lenguaje de alto nivel, el lenguaje C; de esta manera, podremos organizar los programas según las especificaciones de un lenguaje de alto nivel, que son más flexibles y potentes, e implementar ciertas funciones con ensamblador para trabajar a bajo nivel los aspectos más relevantes de la arquitectura de la máquina. La importancia del lenguaje de ensamblador radica en el hecho de que es el lenguaje simbólico que trabaja más cerca del procesador. Prácticamente todas las instrucciones de ensamblador tienen una correspondencia directa con las instrucciones binarias del código máquina que utiliza directamente el procesador. Esto lleva a que el lenguaje sea relativamente sencillo, pero que tenga un gran número de excepciones y reglas definidas por la misma arquitectura del procesador, y a la hora de programar, además de conocer las especificaciones del lenguaje, hay que conocer también las especificaciones de la arquitectura. Así pues, este lenguaje permite escribir programas que pueden aprovechar todas las características de la máquina, lo que facilita la comprensión de la estructura interna del procesador. También puede aclarar algunas de las características de los lenguajes de alto nivel que quedan escondidas en su compilación. El contenido del módulo se divide en siete apartados que tratan los siguientes temas: •

Descripción de la arquitectura x86-64 desde el punto de vista del programador, y en concreto del modo de 64 bits, en el cual se desarrollarán las prácticas de programación.

Descripción del entorno de programación con el que se trabajará: edición, compilación y depuración de los programas en ensamblador y en C.

Descripción de los elementos que componen un programa en ensamblador.

Programación en ensamblador (x86-64)


Turn static files into dynamic content formats.

Create a flipbook

Articles inside

6.8. IDIV: división entera con signo

2min
pages 98-99

5.7.3. Retorno al sistema operativo (exit

0
page 90

6. Anexo: manual básico del juego de instrucciones

1min
page 91

5.6. Controlar la consola

1min
page 85

5.7. Funciones del sistema operativo (system calls

1min
page 86

5.7.1. Lectura de una cadena de caracteres desde el teclado

1min
page 87

5.4.4. Llamadas a subrutinas y paso de parámetros desde C

6min
pages 78-82

4.2.6. Apuntadores

1min
page 56

4.2.4. Control de flujo

3min
pages 51-53

4.2.5. Vectores

2min
pages 54-55

4.2.3. Operadores

1min
page 50

4.1.1. Generación de un programa ejecutable

1min
page 47

4.2.2. Variables

1min
page 49

3.4.2. Modos de direccionamiento

7min
pages 39-42

3.4.3. Tipos de instrucciones

3min
pages 43-45

3.4.1. Tipos de operandos de las instrucciones x86-64

5min
pages 36-38

3.2.3. Definición de otros elementos

2min
pages 31-32

2. Lenguajes de programación

1min
page 22

1.1.2. Modo heredado de 16 y 32 bits

1min
page 14

1.2.1. Organización de la memoria

1min
pages 16-17

2.1. Entorno de trabajo

2min
pages 23-24

1.2.2. Registros

5min
pages 18-21

Objetivos

0
pages 9-10

3.2.2. Definición de variables

5min
pages 27-30

Introducción

2min
pages 7-8
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.