Programacion en assembler bajo linux
Diego Echeverri Saldarriaga 10 de julio de 2006
2
´ Indice general
Introducci´n o 1. Programaci´n, Ensamblado, Enlazado y o 1.1. Estructura b´sica de un programa . . . a 1.1.1. Comentarios . . . . . . . . . . . 1.1.2. Secciones . . . . . . . . . . . . . 1.1.3. Directiva .global . . . . . . . . 1.1.4. Fin del Programa . . . . . . . . .1.2. Un Primer Problema: . . . . . . . . . . 1.2.1. Soluci´n en Pseudoc´digo . . . . o o 1.2.2. Variables . . . . . . . . . . . . . 1.2.3. Implementando el Algoritmo . . 1.2.4. Ejecutando el algor´ ıtmo . . . . . 1.2.5. Haciendo Debugging . . . . . . . 1.3. Ejercicios . . . . . . . . . . . . . . . . . 1.3.1. Manejo de variables . . . . . . . 1.3.2. Invertir . . . . . . . . . . . . . . 1.3.3.Operaciones aritm´ticas . . . . . e 1.3.4. Operaciones l´gicas . . . . . . . . o Depuraci´n o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
III
. . . . . . . . . . . . . . . .
. . . . . . .. . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 2 2 2 2 3 4 4 5 6 7 8 8 8 8 8 9 9 9 10 11 12 12 12 13 13 13 14 14
2. Control de flujo y Estructuras Indexadas 2.1. Control de Flujo . . . . . . . . . . . . . . . . . 2.1.1. Instrucci´n Loop . . . . . . . . . . . . . o 2.1.2.Comparaci´n y saltos no Condicionales o 2.2. Un Primer Problema . . . . . . . . . . . . . . . 2.2.1. Soluci´n en Pseudoc´digo . . . . . . . . o o 2.2.2. Variables . . . . . . . . . . . . . . . . . 2.2.3. Implementando el Algoritmo . . . . . . 2.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . 2.3.1. Problema del Programa Anterior . . . . 2.3.2. Indexaci´n de varias dimensiones . . . . o 2.3.3.B´squeda de un Elemento . . . . . . . . u 2.3.4. Control de Flujo . . . . . . . . . . . . . i
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
ii 3. Funciones y Modularidad 3.1.Funciones . . . . . . . . . . . . . . . 3.2. Resolviendo Un Primer Problema . . 3.2.1. Soluci´n en Pseudoc´digo . . o o 3.2.2. Variables . . . . . . . . . . . 3.2.3. Implementando el Algoritmo 3.2.4. Ensamblando y Enlazando . . 3.3. Ejercicios . . . . . . . . . . . . . . . 3.3.1. Paso de Par´metros . . . . . a 3.3.2. Par´metros por Referencia . a 3.3.3. Funciones Recursivas . . . . .
´ INDICEGENERAL 15 15 17 18 18 18 19 20 20 20 20
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . .. . .
Introducci´n o
La programaci´n bajo Assembler es una parte fundamental del curso de Aro quitectura ST-039. La idea de este tutorial es que sea suficientemente f´cil y a explicito como para poder realizarse sin supervisi´n, as´ como tambi´n hacer la o ı e introducci´n a dicho lenguaje mediante una aproximaci´n desde el Pseudoc´dio o o go. Cap´ ıtulo 1 Muestra como esta estructurado unprograma en Assembler bajo Intel. Se explican las directivas mas utilizadas del ensamblador as y los comandos del gdb, como tambi´n, el manejo de los registros y tama˜os e n de variables utilizadas por el procesador. Esta secci´n deber´ durar como o a m´ximo dos sesiones. a Cap´ ıtulo 2 Este capitulo explicara el control de flujo (If, While, For) a partir de las instrucciones de Loop y saltos que...
Regístrate para leer el documento completo.