elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
11 Octubre 2008, 17:51  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderadores: Hendrix, E0N)
| | |-+  ASM Syntax
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: ASM Syntax  (Leído 342 veces)
XRoot

Desconectado Desconectado

Mensajes: 11

It's my Life!


Ver Perfil
ASM Syntax
« en: 16 Septiembre 2007, 02:03 »

Hola, actualmente me decidí a entrarle al Assembly x86, pero tengo una gran duda:

La syntax de Intel es la que estoy aprendiendo, pero, ¿Que hay con la de AT&T? o sea, es parecida o algo? hace unos dias me compilé el kernel, miré unos archivos *.S (que es la extensión de los archivos de assembly en Linux) que tenian comentarios como los de mi lenguaje favorito (C) y usaban preprocesador como en mi lenguaje favorito (C). El lenguaje fue creado en los laboratorios Bell de AT&T. A lo que voy, la syntax de AT&T de ASM es similar a la de C?

Bye, XRoot
En línea

Visita mi blog
http://desmother4ever.blogspot.com/ Visita mi blog
Rozor

Desconectado Desconectado

Mensajes: 249


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Re: ASM Syntax
« Respuesta #1 en: 16 Septiembre 2007, 22:19 »

Aver has liado un poco la pregunta, te voy a responder y si no te queda aclarada la duda dilo.

Asm AT tiene una sintasix diferente a la de x86 , algunas cosillas com los % en los registros algunas instrucciones etc...

DevCpp ( GCC MINW ) usa como inline assembler ASM AT. Y Visual C 6 por ejemplo usa ASM x86.
En línea

Suck my Dick!!!
XRoot

Desconectado Desconectado

Mensajes: 11

It's my Life!


Ver Perfil
Re: ASM Syntax
« Respuesta #2 en: 21 Septiembre 2007, 06:07 »

Bueno, si es cierto, en los registros usaba %, entonces si es la syntax de AT&T
Gracias
En línea

Visita mi blog
http://desmother4ever.blogspot.com/ Visita mi blog
SaXo

Desconectado Desconectado

Mensajes: 123


Ver Perfil
Re: ASM Syntax
« Respuesta #3 en: 21 Septiembre 2007, 09:41 »

Hola,

La sintaxis de intel y at&t son diferentes pero valen para el mismo tipo de arquitectura de procesadores con un conjunto de instrucciones complejo (o extendido) vamos, los x86 de toda la vida. Quizás lo que mas se puede destacar de la sintaxis de at&t es que usan % delante de los registros, los memotécnicos utilizan los sufijos b,w y l para indicar los bits en los que se esta programando. Los operandos cambian el orden con respecto a la sintaxis de Intel, los operandos inmediatos llevan prefijo $ y las indirecciones se hacen con parentesis.

Dices que se parece a C... bueno, es común que en sistemas como linux se usen funciones de glib para el código en ensamblador como podría ser usar printf u otra de sus funciones. También es común embeber el código asm dentro de código C pero no se parecen entre ellos ni en el blanco de los ojos.

Te pongo aquí uno de mis ejemplos sencillos de cuando aprendía la sintaxis de at&t para que puedas apreciar las diferencias. Este ejemplo usa printf de gblic para imprimir los valores por pantalla en vez de realizar una llamada al sistema.

Código:

.data
pfmt: .string "%d\n"

x: .int 8
y: .int 3

A1: .int 0

.text
.global main

main:
movl x,%eax
subl y,%eax
movl %eax,A1
pushl A1
pushl $pfmt
call printf
addl $8,%esp
jmp end

end:
ret

Te recomiendo la lectura de esta "guia" sobre el ensamblador de at&t. Cuenta las mismas cosas que yo te explico aquí  y algunas cosillas más. http://bulma.net/impresion.phtml?nIdNoticia=941
En línea
Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats