Hola que tal, desde hace mucho he tenido bastante curiosidad por el lenguaje ensamblador y aun que no me pienso dedicar a él me gustaría aprender por lo menos lo básico pero he visto que hay diferentes tipos de lenguaje ensamblador así que tengo dudas sobre cual elegir, entonces me gustaría el consejo de alguien con experiencia.
¿cual es el mejor?
¿cual el mas usado hoy en día?
¿cual el que mas tiene futuro?
¿cual el mas eficiente?
¿cual me recomiendan aprender?
¿y que otros consejos me podrían dar?
Cita de: doommachine en Mayo 02, 2016, 01:05:04 amHola que tal, desde hace mucho he tenido bastante curiosidad por el lenguaje ensamblador y aun que no me pienso dedicar a él me gustaría aprender por lo menos lo básico pero he visto que hay diferentes tipos de lenguaje ensamblador así que tengo dudas sobre cual elegir, entonces me gustaría el consejo de alguien con experiencia.Pareces un poco confundido. El lenguaje ensamblador no se elige, va asociado al micro que quieres programar. Los PC, como dice stakewinner, son Intel o AMD, que más o menos comparten el mismo lenguaje, aunque no todos soportan exactamente las mismas instrucciones (con cada nueva generación normalmente se añaden algunas extensiones, como las viejas MMX y las diferentes versiones de SSE más recientes). Además hay que considerar si los programas en modo 32 bits o, si el SO lo permite, 64.No hay uno mejor per se. Hay una división un tanto artificial entre conjuntos de instrucciones reducidos (RISC, unas pocas instrucciones muy rápidas) y complejos (CISC, muchas instrucciones, algunas muy complejas), aunque últimamente se tiende a una arquitectura híbrida. Los x86/x64 son arquitectura CISC de libro, pero los más recientes se implementan por microcódigo (software) sobre una arquitectura RISC.Citar¿cual es el mejor?No importa mucho, porque no puedes elegir, pero como siempre, depende. Tradicionalmente, en el ámbito académico se han considerado mejores los RISC, aunque es más productivo programar un CISC, y para el programador de compiladores supongo que estos tienen mayor potencial de optimización. Lo mejor siempre depende de tus objetivos.Citar¿cual el mas usado hoy en día? La verdad es que no tengo ni idea. Quizá el ensamblador de los microcontroladores PIC.Citar¿cual el que mas tiene futuro?Todos. El ensamblador no va a desaparecer mientras sobreviva un micro. Aunque hace tiempo que hay una tendencia a no programar en ensamblador salvo algún microcontrolador sencillo para proyectos de electrónica. Eso no creo que cambie mucho.Citar¿cual el mas eficiente?De nuevo, depende. Si quieres rendimiento, intel. Si quieres bajo consumo de energía, hace unos 10 años estaba la serie nanowatt de Microchip, que en reposo consumía nanowattios, y trabajando un poco más. Si buscas un buen equilibrio entre ambas, los ARM o la serie ATOM de intel (que también es x86) van muy bien. Citar¿cual me recomiendan aprender?Depende de tus objetivos. Si quieres hacer apps para PC, x86/x64 sin duda. Aprender ARM para programar móviles no sé si es buena idea, no conozco a nadie que programe móviles en otra cosa que java (y eso que hay un SDK nativo en C++ para Android). Puede ser interesante.Si solo quieres tener una idea aproximada de como funcionan las cosas y no tienes intención de programar de verdad, te recomendaría que busques un micro más sencillo (por ejemplo, el 65000 de Motorola o el Z80). Si aún así quieres hacer algo práctico, puedes descargarte un emulador de gameboy, que utiliza una variante del z80, y buscar documentación específica.Citar¿y que otros consejos me podrían dar?No escupas contra el viento.