Que tal colegas, un saludo. Aquí consultando con ustedes, hace tiempo no veo consultas de asembler.... Sera que ya se dejara de usar?
Cual es su opinion?
Saludos
El ensamblador sigue existiendo porque esa es la manera que se presenta el código más básico de los procesadores.
Por ejemplo, si tu escribes una aplicación en Visual C# para PC o un app para un móvil en Android Studio, detrás de todo ese código, al final se crea un código en ensamblador y que es posible ver como está hecho si así lo desearas.
Lo único que permite un lenguaje de alto nivel, es enmascarar y agilizar la creación del código de un proyecto, es decir crear una caja negra que el programador no necesita conocer a profundidad que hace.
Pero puede ser una arma de doble filo un lenguaje de alto nivel, por ejemplo recuerdo que tuve problemas con el PICC (CCS) hace muchos años atrás, donde no funcionaban algunos periféricos o variables perdían el valor que contenían, y al analizar el código creado en ensamblador, descubrimos que no se creaba código en ciertas regiones. Si no hubiera conocido un poco de lenguaje ensamblador, nunca hubiera llegado a esa conclusión.
Ahora bien, esa amarga experiencia, no fue razón para regresar al ensamblador, todo lo contrario, migre a un compilador con mejores garantías de funcionamiento (C18 en esa época).
Las ventajas que tienes con ensamblador, es que tu tienes el control de como se crea el código, y de esa manera escribes de la manera más optima posible que si lo hiciera un compilador, además de ser generalmente gratuito.
Las desventajas es que necesitas más tiempo para crear un proyecto, aunque con la habilidad y experiencia, puede que hayas logrado superar ese problema.
Pero imagínate configurar periféricos complejos como un módulo Ethernet sólo con ensamblador, sería algo complicado, no imposible,
pero si te tomaría mucho tiempo y mucho tiempo no tienes cuando vives de crear y vender sistemas embebidos.
Podrías combinar ambos mundos, conozco alguien que programa el manejo de periféricos simples en ensamblador, mientras los complejos, utiliza C. Por cierto, he escuchado que el lenguaje C, es el más cercano al ensamblador. No me parece, pueda que sea más simple respecto a otros lenguajes.
Personalmente, recuerdo que programé en ensamblador para el PIC16F877A, el PIC18F4550 y el dsPIC30F, pero cuando necesité agilizar mis proyectos, dejé a un lado el ensamblador.
Actualmente trabajo sólo con el PIC32, no conozco las instrucciones en lenguaje ensamblador para esos microcontroladores, tampoco he tenido necesidad, alguna vez traté de aprender un poco, pero no le veo una utilidad práctica. Al menos que desee crear mi propio lenguaje de programación, como pasó con el PIC16F877A.