Autor Tema: asm o C  (Leído 4008 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Meta

  • Visitante
asm o C
« en: 13 de Enero de 2008, 22:06:05 »
Me compré el libro del www.pic16f84a.com y está muy bien. Sólo enseña ensamblador (ASM) y nada de C.

Según he leído por ahí, si usas C lenguaje de alto nivel al pasarlo a asm (que es obligatorio), ocupa muchos más líneas de código que me arriesgo a que no me quepa en la memoria flash, frente a esto, programar directamente en asm que es lo que estoy aprendiendo son muchos líneas de código.

Es más fácil entender el C que el asm, pero he notado aquí que no saben programar micros en asm, pero en C lo sabe a lo bestia.

Creo que como mínimo es aprender asm está bien para resolver problemas en caso que no disponga el C en ese momento.

Para ustedes, me pueden decir más opiniones sobre las ventajas y desventajas entre ASM y C y el por qué.

Desconectado poseidon20

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 762
Re: asm o C
« Respuesta #1 en: 13 de Enero de 2008, 22:31:26 »
Mi estimado meta, en este foro no solo se programa en C, sino en asm, basic y demas lenguajes que se pueda. ahora lo que pasa es que muchos prefieren el c ya que es como bien tu dijistes un lenguaje de alto nivel, pero como tal, este genera mas codigo asm para hacer una determinada accion, por eso este elnguaje esta mejor aplicado para aplicaciones complejas y uC que dispongan de muy buen RAM, pero te aseguro qeu hay gente que trabaja tan bien en ASM como los que que trabajan en C, lo bueno del asm es que tu tienes el control del programa, osea cuando se presenta una falla sabes en que linea puede estar el probelma, pero en C no sabes si es el la version del compilador o tu el del problema. como te digo hay algunos que les es facil asm y otros C y esto tambien dependiendo de lo que vas a hacer y la complejidad de tu programa. A mi entender deberias saber de ambos, ya que el asm es como el DOS y el C vendria a ser windows  :mrgreen:

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: asm o C
« Respuesta #2 en: 14 de Enero de 2008, 18:01:16 »
Citar
A mi entender deberias saber de ambos, ya que el asm es como el DOS y el C vendria a ser windows  Mr. Green

esa comparacion se aporxima a lo que es :D ya que en asm debes hacer todo paso a paso, en cambio en C hay funciones que te evita hacer 'todo' y se hace mas sencillo

todo siempre tiene sus ventajas y desventajas uno respecto al otro, asi que en cuanto aprendas algo de C tu mismo podras ver esas diferencias. ASM siempre sirve para comenzar, pero para proyectos grandes, talvez sea mejor usar un lenguaje de alto nivel, claro qeu con asm es posible, pero mas moroso a la vez :mrgreen:

solo es mi punto de vista
.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: asm o C
« Respuesta #3 en: 14 de Enero de 2008, 18:30:50 »
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Enigma

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
    • www.toroscoleados.com
Re: asm o C
« Respuesta #4 en: 15 de Enero de 2008, 00:13:52 »
Bueno si me preguntas a mi, he trabajado con los dos lenguajes, y creeme que aunque muchos dicen que C es lo máximo, pues, bueno si es fino porque te ahorra muuuuchas líneas de intsrucción, pero he aquí por lo que prefiero ASM:

Cita de: POSEIDON20
lo bueno del asm es que tu tienes el control del programa, osea cuando se presenta una falla sabes en que linea puede estar el probelma, pero en C no sabes si es el la versión del compilador o tu el del problema.

Estoy totalmente de acuerdo con esto.... Cuando hice mi primer programa en C, naguara me daban un poco de errores y empece a corregir, y corregir, y dure más de una dia para el programa corriera sin errores... Añadiendo mi nula experiencia en este lenguaje...

Pero cuando hice mi primer programa en ASM, pues tenia errores, pero detectarlos no me llevo más de medio dia, añadiendo también que no sabía nada de ASM para aquel momento...

Si bien es cierto que ASM es demás de largo porque hay que hacer todo paso a paso (esto es lo que me gusta, porque se lo que estoy haciendo :D), pues en C uno no sabe casi siempre lo que hace, al menos internamente no se sabe como están ejecutandose las instrucciones, puesto que C es como una mascarita de ASM para vrindarle más accesibilidad y facilidad a los programadores....

En fin, todo depende del gusto de cada quien... A mi en lo particular me gusta hacer las cosas pasito a pasito y estar encima de lo que voy haciendo, por eso es que ASM es mi lengiçuaje de programación favorito :mrgreen:...

Aunque esto no quiere decir que no programaré en C, si lo har, ya que es un lenguaje que se destin a futuro!!!! :-)

Atte: Enigma... La llanerita de Guayana :-)
No hay nada como cabalgar en la sabana y sentir la brisa con olor a mastranto, bosta y ganado. ¡¡O Fortuna, velut luna, status variabilis, semper crescis, aut decrescis, vita detestabili!! Que viva el coleo, la musica LLanera y la gótica!

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: asm o C
« Respuesta #5 en: 15 de Enero de 2008, 00:34:22 »
Por cierto, el que haya programado un PIC32 en asm que lo diga. No creo que todo este foro los que hay aquí tengan un PIC32 con lo caro que salen hasta las grabadoras.

Te sorprenderías si supieras la cantidad de gente de este foro que tiene PIC32.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: asm o C
« Respuesta #6 en: 15 de Enero de 2008, 08:18:47 »
De hecho son muy económicas. No sé en donde habrás checado los precios. Ya mucha gente está programado los PIC32, en C y an ASM, puesto que no hay nada de misterioso ni de difícil en ellos. No porque sean los más nuevos la industria y los usuarios se van a volcar inmediatamente a ellos. Las cosas en el mundo electrónico real no funcionan de esa manera.

JCC40 ¿No funcionan de qué forma?  No entiendo a qué haces referencia con esa frase.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: asm o C
« Respuesta #7 en: 15 de Enero de 2008, 18:04:18 »
Apoyando todos estos planteamientos:

Me desespero cuando insistentemente preguntan ¿Qué PIC? ¿Que Idioma?  ¿Cuantos Bits 8, 16, 32? ...

¿Por qué no se preguntan lo mismo con el tamaño o tipo de sus zapatos? O mejor dicho ¿por qué no se contestan igual que a la pregunta sobre los zapatos? Evidentemente es : El que necesites. Que no serán los mismos tus píes los tuyos que los míos ni ir a una cena de gala que a hacer deporte.

Si necesitas precisión extrema debes contar ciclos de reloj e incrementos de puntero de programa usa ASM
Si necesitas desarrollar rápido usa C o Basic
Si necesitas tamaño físico mínimo no escojas un PIC32 TQFP de 100 patillas ni un PIC18 DIP de 40 patillas sino un 12F
Si necesitas USB no selecciones un PIC16 sino un 18FX550
Si necesitas A/D no selecciones un 16F628 sino un 16F876
Si necesitas mas o menos EEPROM interna, o RAM, o Pines, u Oscilador interno, o PLL, o 2 USART, ... o  ... o .... o ....

Como todo en la vida, si necesitas un sombrero no uses el de un burro, te tapará los ojos y no te dejará ver nada.
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: asm o C
« Respuesta #8 en: 16 de Enero de 2008, 04:27:24 »
He leído por ahí que la propia Microchip.com van a potenciar el lenguaje C y meterá ejemplos tanto en asm y C en plan bestia.

¡No me lo puedo creer!,  :shock: ¿quién te ha dado el soplo?

Meta

  • Visitante
Re: asm o C
« Respuesta #9 en: 16 de Enero de 2008, 04:36:47 »
LA noticia era a finales del 2007. Se que ya está eso del C, pero quiere hacerlo más aún  y más noticias sobre ello que llegue a la gente para convencer sobre todo a indecisos de introducirse a los pic.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: asm o C
« Respuesta #10 en: 16 de Enero de 2008, 08:52:10 »
A mi me dijeron que AVR tambien esta por sacar un compilador de C !!! :shock: :shock:
Y me chiflaron que Motorola tambien anda en eso !!! :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: asm o C
« Respuesta #11 en: 16 de Enero de 2008, 09:10:55 »
No existen indecisos en este mercado, ni hace falta a quien convencer, el mercado para los PICs (y los microcontroladores en general) es tan amplio que sólo hasta que busques por ahí información de cuánto $$$ se mueve al año y cuántos micros se venden te darás una idea.

Tal vez meta se haya expresado mal pero algo de cierto hay en que cuantos más ejemplos, mas gratuitas sean las herramientas y más fácil sea conseguir la información , más tentador es para alguien que comienza volcarse a una familia de microcontroladores.

Comencé con los pics porque el MPLAB era gratis, porque los pics eran bastante económicos y porque había ejemplos como para 'arrancar' de una manera fácil, internet por aquellos días no era tan fácil de acceder, al menos no en mi país.  Usar los freescale (motorola por aquel entonces) era más caro, el codewarrior si uno lo quería legal salia (y sale) u$s 8000... demasiado para alguien que comenzaba a dar los primeros pasos.

Creo que su política de notas de aplicación, ejemplos, entorno gratuito y buenos microcontroladores hizo de Microchip la número 1 en micros de 8 bits.  En los 90 vendian algunos millones, a partir de la década del 2000 pasaron a vender cientos de milones por año, totalizando ya los 5mil millones de microcontroladores

No se si la pregunta será "si hay o no indecisos" pero si es cierto que en ocasiones uno debe elegir cual es el micro más adecuado para una aplicación en específico y cuando el proyecto es largo y complejo, en ocasiones uno ya debe abarajar muchas marcas y modelos.  En ese escenario uno ve que tipo de herramientas hay disponibles, a qué costo, con qué facilidad se consiguen kits de desarrollo, cuanto código fuente hay disponible, etc.  En estos momentos tengo posibilidades de comenzar un proyecto complejo y la verdad tengo que decidirme entre un pic32, un arm9 o algún otro (avr32, coldfire, etc), y en estas cuestiones muchas son las variables que entran en juego y la facilidad para 'arrancar trabajando con algo' no es un tema menor y es alli donde los ejemplos pueden inclinar la balanza de un lado o el otro.  ¿indeciso? tal vez...

Rabbit por ejemplo, hace gran uso de sus notas de aplicación listas para usar con código que te venden... y eso lo hizo desde que comenzaron.  Para paises donde gastar 100, 200 o 300 u$s en un código que ya funciona no es dinero porque lo gastan en 1 día de honorarios de ingeniero, entonces es una buena alternativ y tienen muchos clientes.

En fin, es cierto que microchip tiene ejemplos en C hace tiempo pero también es cierto que no estan ni bien organizadas ni mucho menos.  Muchos se quejan de que muchos development board solo tienen código en assembly y no en C... ni C18 ni C30 ni nada.  Cómo ejemplo cito la PICDEM™ 2 Plus , en el foro de microchip es frecuente leer de que alguien se queja de que no hay ejemplos en C  y solo en assembly.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Meta

  • Visitante
Re: asm o C
« Respuesta #12 en: 16 de Enero de 2008, 14:32:14 »
Citar
No se si la pregunta será "si hay o no indecisos" pero si es cierto que en ocasiones uno debe elegir cual es el micro más adecuado para una aplicación en específico y cuando el proyecto es largo y complejo, en ocasiones uno ya debe abarajar muchas marcas y modelos.


A eso me refiero precisamente. Si tienes un proyecto que encarar, decides de manera muy razonada cuál micro y plataforma utilizar, y lo usas.

Me refiero a personas que están indecisa en decidir o no a introducirse al mundo de los pic.