Manejo y uso del compilador gcc

Solo disponible en BuenasTareas
  • Páginas : 14 (3445 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de marzo de 2012
Leer documento completo
Vista previa del texto
Gcc Inline Assembly - How to
Martin Candurra (astor) disponible en hackemate.com.ar martincad@yahoo.com Lunes, 20 de Octubre de 2003, a las 14:46:00 ART

Con este humilde art´ ıculo espero facilitar la comprensi´n del Inline Assembly en Gcc. Si bien existen varios o documentos escritos sobre el tema (incluido el manual oficial de Gcc) espero lograr un enfoque diferente con este texto. Mi parteest´ cumplida si alguien, leyendo este art´ a ıculo, logra mezclar lenguaje C y ensamblador con facilidad.

Contents
1 Introducci´n o 1.1 1.2 1.3 1.4 1.5 Que es y para que sirve el inline assembly ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . Por qu´ otro texto de Inline Assembly ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Requisitos b´sicos . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a Aclaraci´n o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 2 3 3 3 4 4 5 5 5 6 6 6 7 7 8 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 10

Copyright y reproducci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o2 Inline Assembly 2.1 2.2 2.3 Ejemplo muy simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Otro ejemplo sencillo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Ejemplos m´s utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a ´

3 Extended Inline Assembly 3.1 3.2 3.3 3.4 3.5 3.63.7 3.8 Introducci´n o Ejemplo 1 Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

Modificadores Ejemplo 3 Ejemplo 4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Modificador ”r” Clobber List

. . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . .

4 Varios 4.1 4.2 Modificadores ’\n’ y ’\t’

Que es volatile ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Comentario final

1. Introducci´n o

2

6 Contacto

10

1
1.1

Introducci´n o
Que es y para que sirve el inline assembly ?

Existen muchos casos donde debemos utilizar en nuestro c´digo (enlenguaje C) un poco de assembly debido a o que queremos optimizar algunas lineas un poco m´s ”a mano”, o sencillamente necesitamos usar instrucciones a las cuales no poseen ning´n tipo de funci´n o macro asociada en C(por ejemplo LGDT, LTR, IRET, etc).Es u o en estos casos en los cuales es necesario recurrir al inline assembly (o ensamblado en linea). Esta herramienta que nos brinda el Gcc no s´loes muy util, si no que despu´s de acostumbrarse a su utilizaci´n termina siendo o ´ e o realmente c´moda o

1.2

Por qu´ otro texto de Inline Assembly ? e

Por la simple raz´n que cuando necesite aprender inline assembly considero me costo m´s de lo que hubiera o a querido. No encontre la cantidad de ejemplos que me hubiera gustado, y sent´ que esos textos estaban a otro ı nivel. Desde yaque con este humilde texto no pretendo brindar m´s inforci´n de la queda el manual de Gcc, si a o no que intentar´ ser lo mas claro posible, utilizando ejemplos sencillos, que cualquier novato entender´ Al e ıa. igual que a varios conocidos que tengo, me costo bastante entender ese t´ ıpico ejemplo de la multiplicaci´n o de n´meros via Inline Assembly que aprovecha la arquitectura super-escalar...
tracking img