Autor Tema: Fin Assembler?  (Leído 1201 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Fin Assembler?
« en: 09 de Mayo de 2022, 14:06:44 »
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

Desconectado tsu_electronica

  • PIC18
  • ****
  • Mensajes: 274
Re:Fin Assembler?
« Respuesta #1 en: 09 de Mayo de 2022, 16:25:35 »
yo creo que no, ya que para optimizar código siempre será en ensamblador, por ejemplo el famosísimo arduino lleva un micro atmega328p y si buscas su hoja de especificaciones veras que en la pagina 625 en el apartado de set de instrucciones todas son en ensamblador ya que se quiera usar interpretes en otros lenguaje ya es preferencia personal pero al final todo es en ensamblador eso no se olvida.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Fin Assembler?
« Respuesta #2 en: 10 de Mayo de 2022, 11:24:23 »
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.





« Última modificación: 10 de Mayo de 2022, 15:52:21 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Fin Assembler?
« Respuesta #3 en: 10 de Mayo de 2022, 11:47:33 »
Programar en assembler no suele ser rentable. Si quieres más velocidad o más espacio, suele costar menos comprar un micro más grande.
De todas formas entre el ensamblador y el C no hay tanta diferencia de velocidad y espacio ocupado.
« Última modificación: 10 de Mayo de 2022, 11:49:42 por Picuino »

Desconectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 965
Re:Fin Assembler?
« Respuesta #4 en: 10 de Mayo de 2022, 16:52:13 »
Normalmente al assembler lo uso para controlar/depurar el código generado y sea mas o menos lo que quería.
Un programa entero en ASM jamás tuve necesidad , sí fragmentos --> ASM inline

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re:Fin Assembler?
« Respuesta #5 en: 11 de Mayo de 2022, 02:29:13 »
Yo uso assembler muy poquísimas veces y para temas muy muy muy concretos que no puedo solucionar con un compilador de alto nivel ... la última vez lo usé para colocar unos retardos en un clock en el que necesitaba ajustar hasta en un ciclo de procesamiento la duración del mismo, si no no me compensa el gasto de "mi" tiempo en tener que ensamblar "a mano". Y no se me daba mal pero ... profesionalmente no me puedo permitir el lujo de trabajar con él salvo para los casos como el que he comentado.  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Eduardo Rodas

  • PIC12
  • **
  • Mensajes: 62
    • Kit electronica
Re:Fin Assembler?
« Respuesta #6 en: 11 de Mayo de 2022, 10:51:01 »
Uso Proton IDE para programar y hace poco tuve la necesidad de crear un oscilador de 100Khz y Proton no me sirvió, así que
utilice ensamblador para hacer esa parte. Todo lo demás lo hice con Proton... y funciono.

Desconectado cvlaso

  • PIC10
  • *
  • Mensajes: 14
Re:Fin Assembler?
« Respuesta #7 en: 22 de Diciembre de 2022, 04:38:00 »
Hola
Mi opinion es distinta creo que para proyectos de micros no hay mucha diferencia del asm y lenguajes de alto nivel, el tema pasa por crearse sus propias librerias o subrutinas que te sirven para no reescribir todo cada vez que quieres controlar los mismos periféricos con el mismo micro. Yo me acostumbré a hacer todo en assembler y no me toma mucho más tiempo que con c. Igual creo que es cuestion de costumbre y aprendizaje, aunque no es facil manejar las funciones de los multiples registros que deben setearse para que cada micro ejecute las rutinas correctamente. Por ejemplo un tema interesante es el manejo de prioriodad de interrupciones en los dspic de 16 bit. A veces cuando usas comunicaciones  I2c o SPI con módulos , aparecen problemas al usar alto nivel por que la información de los módulos suele ser escasa. Saludos

Desconectado Forma

  • PIC10
  • *
  • Mensajes: 8
Re:Fin Assembler?
« Respuesta #8 en: 12 de Febrero de 2023, 13:48:19 »
Me da que se refiere a que la gente ya no están tanto tiempo con asm como era antes, en mi caso me pasa lo mismo, ya no veo a tanta gente en foros con asm de los PIC. Se usará mucho en industrias, pero no aquí para hacer sus proyectos, sobre todo empezó a decaer su uso común por Arduino y más con la RAspberry Pi, casi todo a alto nivel ya de programación, acabas antes con C de Arduino y ya está.

A pesar de todo, no lo quiero abandonar el PIC16F84A con su asm, le tengo mucho cariño.

Por cierto, que ni libros para PIC en asm y en C hacen ya, todo para Arduino y Raspberry Pi como dije antes.

Saludos.