elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ¿Por qué no es portable AT&T?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Por qué no es portable AT&T?  (Leído 2,857 veces)
GeorgArming


Desconectado Desconectado

Mensajes: 350


Ver Perfil
¿Por qué no es portable AT&T?
« en: 4 Diciembre 2011, 01:27 am »

La sintaxis del ASM inline AT&T... por qué no es portable? No es de ningún procesador en concreto... o sí?

PD: perdón por el bombardeo de preguntas pero son temas diferentes


En línea

farresito


Desconectado Desconectado

Mensajes: 302



Ver Perfil
Re: ¿Por qué no es portable AT&T?
« Respuesta #1 en: 4 Diciembre 2011, 02:10 am »

No te acabo de enternder con lo de 'es portable' o no. Actualmente hay 2 sytaxis, la intel y la att. la intel es la mas usada. la att es famosa por el hecho que es la predeterminada en el gcc (compilador gnu linux) y como gcc fue desarrollada en laboratorios att le pusieron este nombre. si te aprendes una syntaxis te va a ser facil moverte a la otra.

syntaxis != a procesador. la syntaxis es solo la representacion de los opcodes (que es a la vez el del binario). lo unico que con la syntaxis att solo puedes usarla para ensamblar con gas (gcc) mientras que con la intel, en el resto. los opcodes seran los mismos (por ej 02 F0. cuando creas un ensamblador tienes que decidir con que 'palabra humana' representas el opcode (binario). unos usaran ADD, otros $ADD, lo que quieras, pero siempre que ensambles el programa, ADD o $ADD convertiran a 02 F0. o podrias usar SUMAR, pero seguiria convirtiendose en ese opcode.

un abrazo

PD: Por cierto, los opcodes es la representacion del binario. y a la vez nosotros representamos los opcodes con palabras mas humanas. cuando ensamblas, la palabra humana se convierte en OPCODE, que a la vez se convierte en binario. por eso da igual la syntaxis. siempre se va a convertir en el mismo opcode


« Última modificación: 4 Diciembre 2011, 02:12 am por farresito » En línea

GeorgArming


Desconectado Desconectado

Mensajes: 350


Ver Perfil
Re: ¿Por qué no es portable AT&T?
« Respuesta #2 en: 4 Diciembre 2011, 12:26 pm »

bueno, más o menos te entiendo. yo me refería a que, por ejemplo, si programas en sintaxis Intel para ASM x86, sólo es aplicable a x86. Pero AT&T, en qué procesadores se puede ejecutar?
En línea

farresito


Desconectado Desconectado

Mensajes: 302



Ver Perfil
Re: ¿Por qué no es portable AT&T?
« Respuesta #3 en: 4 Diciembre 2011, 22:32 pm »

Sí, la syntaxis Intel es generalmente para x86. La AT&T tambien es generalmente para x86. Esta syntaxis se usa para correr programas sobre procesadores x86. Si quieres correr un programa en ARM tienes que hacer otra vez el codigo y adaptar la syntaxis a aquel procesador y a los registros, ya que cambian. Por ejemplo, para ARM la syntaxis se parece a ambas pero no es igual, es ligeramente diferente. Para Atmel (otra arquitectura) tambien cambia (te estoy hablando en ambos casos de GAS, el ensamblador por defecto de GNU GCC). Es lo que te digo, la syntaxis es solo un modo de representar el binario para que lo entendamos. El creador de cada ensamblador decide como lo representa. Yo puedo programar un ensamblador para ARM con syntaxis Intel (de hecho, los hay, pero se suele usar el de GNU GCC (GAS)). Si al fin y al cabo la syntaxis Intel y la AT&T llegan al mismo punto, únicamente que por caminos distintos. Unos quieren ir por encima del puente y otros por debajo pero llegan al mismo sitio.

En resumen, tu pregunta: Syntaxis Intel es para x86. Syntaxis AT&T tambien es para x86. Otras syntaxis, generalmente, otras arquitecturas, dependiendo del fabricante. Como GCC es opensource, son los fabricantes son los que pagan sus trabajadores para que desarrollen y implementen lo que quieren en GCC (un ensamblador para su arquitectura. Así se acercan al publico con herramientas gratuitas).

Un abrazo. Cualquier duda, postéala.

PD: No soy demasiado bueno explicando. Sorry :(
En línea

GeorgArming


Desconectado Desconectado

Mensajes: 350


Ver Perfil
Re: ¿Por qué no es portable AT&T?
« Respuesta #4 en: 4 Diciembre 2011, 23:54 pm »

no estoy de acuerdo, eres bueno explicando. ya entendí. gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PSP - PlayStation Portable « 1 2 3 4 »
Juegos y Consolas
el-brujo 34 36,183 Último mensaje 31 Enero 2006, 16:25 pm
por Ragnarok
VB 6.0 portable - español -
Programación Visual Basic
VirucKingX 5 2,837 Último mensaje 21 Diciembre 2006, 18:03 pm
por VirucKingX
lab 23 portable
Dispositivos Móviles (PDA's, Smartphones, Tablets)
bto49er 2 7,451 Último mensaje 19 Septiembre 2010, 02:57 am
por bto49er
Programación portable
Programación General
julian403 2 2,308 Último mensaje 12 Marzo 2016, 21:13 pm
por julian403
¿Es posible escomprimir un .exe portable?
Ingeniería Inversa
Alejandra2310 3 4,846 Último mensaje 29 Mayo 2023, 11:52 am
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines