Ensamblador - Como es compatible entre PCs el ensamblador?

 
Vista:

Como es compatible entre PCs el ensamblador?

Publicado por Andres (2 intervenciones) el 06/01/2005 08:13:46
Mi pregunta es:
¿Como un Sistema Operativo corre en todas las maquinas que
conosco, si igual es un programa que se traduce a lenguaje a
maquina y el lenguaje a maquina es diferente para cada procesador?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como es compatible entre PCs el ensamblador?

Publicado por AmaBuS (6 intervenciones) el 06/01/2005 17:09:18
Para programar en ASM codigo transportable, primero hay que usar mas las funciones BIOS que las DOS, y testear sobre que procesador esta corriendo el ejecutable y dependiendo del resultado de este testeo, ejecutar el programa de una forma u otra

AmaBuS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No es tan así...

Publicado por Jorge (126 intervenciones) el 07/01/2005 15:33:23
Las computadoras, como bien decís, cambian su arquitectura interna a medida que evolucionan ó dependiendo de quién las crea. Lo que vos te planteas es algo lógico, sin embargo esa compatibilidad existe porque las computadoras de una línea determinada (x86 de Intel por ejemplo) respetan un cierto set de intrucciones básico. Por ejemplo, en una PC nueva (digamos una de 3GHz) se pueden ejecutar programas hechos para una 386, esto es porque el set de instrucciones que tenía disponible el 386 está vigente en el nuevo modelo. El "SET" lo podés ver como una tabla que tiene internamente la máquina, donde a una instrucción en ASM le corresponde una codificación binaria: así, por ejemplo podríamos decir que a MOV le corresponde la codificación 0001. Entonces cuando al ejecutar un programa el chip encuentra el código de operación 0001, ejecuta el MOV. Y esa tabla no está alterada en los modelos siguientes del chip, sino que se conserva por compatibilidad.

Sigue ==>>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No es tan así... 2

Publicado por Jorge (126 intervenciones) el 07/01/2005 15:34:00
Esto no quita que la arquitectura se pueda mejorar de un modelo a otro, los circuitos del chip pueden ser totalmente rediseñados y optimizados, pero basta que el MOV siga siendo el 0001, ningún programa se va a dar por enterado. Esto es lo que caracteriza a una "familia de computadoras": la compatibilidad de un cierto set básico de instrucciones.
Por ejemplo, hoy tanto AMD como Intel respetan un set básico de instrucciones (aunque cada fabricante luego suma las suyas propias como 3DNow! de AMD ó las MMX de Intel) y por supuesto que cada cual creó sus máquinas de cero (Intel no le va a decir a AMD como hace los chips, ni viceversa, jeje). Sin embargo, un software puede usar sólo el set de instrucciones básico y ejecutarse sin problemas en ambas plataformas.

Eso sí, es imposible que ejecutes (al menos nativamente) un ejecutable de compilado para la familia AMD en una máquina de la familia de Macintosh, porque no va a andar ni por casualidad. Si el instruction set no es compatible, no hay vuelta que darle.

Bueno, espero te sirva y cualquier cosa pregunta de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como es compatible entre PCs el ensamblador?

Publicado por Andres (2 intervenciones) el 15/01/2005 07:30:20
Hola.
Gracias a los dos por responder mi pregunta
yo me lo suponia aunque no estaba seguro.
Ahora mi pregunta es:

En ensamblador se habla de cierta limitacion
en el peso de los programas(Creo que de 64kb)
¿Por que, y el ejecutable de un S.O. no es mas
pesado?

Sigue=>>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar