M6
en ensamblador
(x86-64)
Miquel Albert Orenga
Gerard Enrique Manonellas
PID_00178132
CC-BY-SA • PID_00178132
Los textos e imágenes publicados en esta obra están sujetos –excepto que se indique lo contrario– a una licencia de
Reconocimiento-Compartir igual (BY-SA) v.3.0 España de Creative Commons. Se puede modificar la obra, reproducirla, distribuirla
o comunicarla públicamentesiempre que se cite el autor y la fuente (FUOC. Fundació per a la Universitat Oberta de Catalunya), y
siempre que la obra derivada quede sujeta a la misma licencia que el material original. La licencia completa se puede consultar en:
http://creativecommons.org/licenses/by-sa/3.0/es/legalcode.ca
Programación en ensamblador (x86-64)
Programación en ensamblador (x86-64)
CC-BY-SA • PID_00178132Índice
Introducción...............................................................................................
7
Objetivos.......................................................................................................
9
1.
Arquitectura del computador........................................................
11
1.1.
Modos de operación...................................................................
11
1.1.1.
Modo extendido de 64 bits ...........................................
13
1.1.2.
Modo heredado de 16 y 32 bits ....................................
14
1.1.3.
El modo de gestión de sistema ......................................
15
El modo de 64 bits .....................................................................
15
1.2.1.
Organización de la memoria.........................................
16
1.2.2.
Registros .........................................................................
18
Lenguajes de programación............................................................
22
2.1.
Entorno de trabajo ......................................................................
23
El lenguaje de ensamblador para la arquitectura x86-64.......
253.1.
Estructura de un programa en ensamblador ..............................
25
3.2.
Directivas .....................................................................................
26
3.2.1.
Definición de constantes ...............................................
26
3.2.2.
Definición de variables ..................................................
27
3.2.3.
Definición de otroselementos ......................................
31
Formato de las instrucciones ......................................................
33
3.3.1.
Etiquetas .........................................................................
34
Juego de instrucciones y modos de direccionamiento ...............
35
3.4.1.
Tipos de operandos de las instrucciones x86-64 ...........
36
3.4.2.
Modos dedireccionamiento ..........................................
39
3.4.3.
Tipos de instrucciones ...................................................
43
Introducción al lenguaje C..............................................................
46
4.1.
Estructura de un programa en C ................................................
46
4.1.1.
1.2.
2.
3.
3.3.
3.4.
4.
4.2.
Generación de un programaejecutable ........................
47
Elementos de un programa en C ................................................
48
4.2.1.
Directivas .......................................................................
48
4.2.2.
Variables .........................................................................
49
4.2.3.
Operadores.....................................................................
50
4.2.4.
Control de flujo .............................................................
51
4.2.5.
Vectores ..........................................................................
54
4.2.6.
Apuntadores ...................................................................
56
4.2.7.
Funciones .......................................................................
57
4.2.8....
Regístrate para leer el documento completo.