Cita de: Weeken en 16 Diciembre 2012, 07:35 AMEl único libro de Ensamblador que compré y leí formalmente en toda mi vida fue el de Charte Ojeda (versión 2005, o 2009). Después de eso simplemente he usado los manuales de procesador de Intel y AMD, y ejemplos en Internet.
pero el emsablador tiene algun limite que desconosca por que no veo mucho software comercial grande en internet no enteindo el por que![]()
ranking 24
podrias decirme los libros que sean recomendables solo nesecito los titulos para ponerme a buscar
Y sobre la razón por la que ya no hay mucho software escrito en Ensamblador actualmente, es porque todos piensan en escribir programas lo más rápido posible. Igualmente, solo los programadores más profesionales pueden realmente y quieren escribir aplicaciones grandes en C o C++; el resto tiende a usar .NET o cosas más misceláneas o simples, que den gratificación y resultados visuales inmediatos.
Cada vez menos programadores entienden siquiera los algoritmos que se usan en las raíces de la informática y ese conocimiento no lo piden en un trabajo a menos que sea un país desarrollado; y ya no se diga programar con herramientas que no ayudan con IDEs y grandes librerías, y es más práctico para la mayoría programar en un nivel más alto (aunque en realidad quienes crean compiladores, la PC en sí misma, y el sistema operativo y drivers por ejemplo, además de los que quieren crear una base de código fuente 100% propia, siempre necesitan saber mucho de Ensamblador, y después de C y C++, para automatizarlo pero también para ser incluso de implementar código que interactúe con estos en Ensamblador).
Cada vez las computadoras y los programas se vuelven más desechables. Las compañias más grandes, comerciales y transnacionales ya dominan la tecnología y ahora solo les interesa crear aplicaciones nuevas cada tantos meses para ganar dinero, aunque esta sea un paquete enorme que pudo haber sido un programa mucho más pequeño y rápido. Puede que usen C++ (pero actualmente más bien C#), pero ni siquiera se esfuerzan en identificar código de librería innecesario para eliminarlo.
Cita de: x64Core en 16 Diciembre 2012, 09:01 AMEsto es lo que he estado tratando de hacer, creando un lenguaje de programación con la sintaxis fácil de editar y leer de C, y el bajo nivel de Ensamblador. El resultado es un compilador que crea código en Ensamblador partiendo de código más fácil de entender tanto que el de C como el de Ensamblador x86, y el resultado es hacer que la programación en Ensamblador se vuelva eficiente, y en un futuro portable.
El ensamblador no es portable, en proyectos grandes de miles de paginas de codigos ( más si es escrito en ASM ) es mucho
más dificil de mantener ordenado, modificar/mejorar partes, arreglar errores incluso si el programador lo tien ordenado.
C/C++ creo que es el lenguaje perfecto, estándar, portable, eficiente todo esto más la optimizacion que ofrece el compilador.
Compañias dudo que escriban sus programas en ASM por los motivos que mencione, no es nada bueno para ellos.
Aparte que C/C++ puede hacer el 90-92% de las cosas que ASM puede hacer. pero a la vez es tan bueno saber programar en ASM.
Si queremos ser realmente independientes en tecnología, en lugar de simplemente usar compiladores que no comprendemos por mucho que optimicen, tendremos que efectuar este tipo de esfuerzo de desarrollo para aprender ese tipo de magia de optimización y magia informática (pero al final muchísimo más avanzado que lo que pongo aquí):
El Proyecto del Lenguaje de Programación RealC
Eventualmente esperaría que algún día existiera un compilador capaz de usar directamente todos los lenguajes, incluyendo Ensamblador x86, y producir código para cualquier plataforma.
El Ensamblador puede perfectamente convertirse en portable e incluso unificar varios tipos de Ensamblador si simplemente se creara un compilador que convierta el Ensamblador a código de máquina nativo (y si se usa en la máquina nativa, sería una conversión directa).
Esto es todo lo que nos separa de hacer que todo el código que se ha escrito alguna vez en Ensamblador tenga mucha más relevancia.
Digo "simplemente", pero esto sería tan complicado como un compilador, pero obviamente posible.
Programar en Ensamblador es realmente más simple que programar en C o C++, porque siempre y cuando sea código que no interactúe con APIs externas (es decir, potencialmente la mayor parte), uno no está obligado a seguir convenciones ni aprender la estructura o sintaxis adicional, y eso lo hace más simple.
Lo difícil es manejar una gran cantidad de código, especiaqlmente si no está bien comentado o documentado, o hay que depurar errores.
Aprender C es mucho más fácil y tiene mucho más sentido si primero se aprende a programar en Ensamblador. Después viene aprender C++.