Autor Tema: Tema Dividido. ¿ASM Vs C?  (Leído 25055 veces)

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

Desconectado Zaphyrus

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 323
    • Mi blog: Es cuestión de actitud
Tema Dividido. ¿ASM Vs C?
« en: 11 de Octubre de 2006, 15:07:13 »
Hola a todos, interesante post.

Los lenguajes que he aprendido y usado:

-GW Basic
-Ensamblador 80x86
-Pascal
-C
-Ensamblador 6800
-Ensamblador PIC
-Altera HDL (lenguaje de descripción de hardware) para mi proyecto final de carrera -> http://martin.calveira.googlepages.com/home
-Java
-C#

Y he investigado C++ pero no me ha gustado, prefiero Java o C# por ser más productivos.

Saludos.

Martín.
"¿Lo quiere rápido, barato, o bien hecho? Puede elegir dos de las tres cosas." Arthur C. Clarke.
Mi Proyecto Final de Carrera-Microprocesador RISC de 16 bits en HDL: http://martin.calveira.googlepages.com/home
Mi página web o blog: http://es-cuestion-de-actitud.blogspot.com/
Martín Calveira - Zárate - Argentina

Desconectado Toph

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 84
Tema Dividido. ¿ASM Vs C?
« Respuesta #1 en: 11 de Octubre de 2006, 18:57:35 »
 :) Pues para programar pic uso solamente Ensamblador, espero empezar a usar C cuando migre a la gama alta, ya he programado en C pero no un micro.
Tambien programo en:

*Ensamblador para microprocesadores x86
*Ensamblador para microcontroladores Motorola
*Visual Basic
*Matlab
*algo de C/C++
*Aprendiendo VB.Net y Java  :-)


saludos  :-/

 

El tiempo perdido es dificil de recuperar, trata de no desperdiciarlo
atrevete de vez en cuando a hacer algo nuevo
¿Sera este el año que tanto he deseado?

Desconectado Rakamail

  • PIC12
  • **
  • Mensajes: 54
Tema Dividido. ¿ASM Vs C?
« Respuesta #2 en: 12 de Octubre de 2006, 02:34:29 »
En la escuela de ingenieros creo recordar que algo de C++ usé, pero donde realmente disfrutaba era con el ensamblador (creo que nos examinaban con el 8085, pero no estoy seguro de recordar el nombre correcto)
Ahora que he vuelto a usar micros por hobby, reconozco que disfruto cuando se me ocurre un algoritmo que hace lo que quiero con únicamente dos lineas de código  :-)

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Tema Dividido. ¿ASM Vs C?
« Respuesta #3 en: 16 de Octubre de 2006, 00:14:05 »
Hola yo empece hace unos años y me quede con PBP y no comparto la idea del amigo carcass en que C PBP o niple es para vagos, si es para principiantes mas PBP C no lo creo.

Lo que si es que usar lenguajes de alto nivel tiene su chiste tambien y lo que siempre he dicho. Si me dejaran hacer un trabajo especifico en un pic y en PBP me tardo 5 minutos y en assembler 4 horas y al fin y al cabo hace exactamente lo mismo que me importa lo que consuma una vez programado no  lo volvere a usar. Y para eso hay PICS con mas memoria. Asi que porfa no se metan con los lenguajes que me agradan y que se usar mas o menos(PBP y C, a los demas haganle lo que quieran :D :D :D :D)
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Tema Dividido. ¿ASM Vs C?
« Respuesta #4 en: 16 de Octubre de 2006, 01:07:27 »
Por todo esto, sigo insistiendo en que el "C" aplicado a los microcontroladores es para los principiantes, los vagos o los que usan Freescale (a quienes les encanta desperdiciar recursos).
Me olvidaba del NIPLE.. bue.. sin palabras.

Si categorizas de esta manera es lógico que los que utilizamos C nos sintamos ofendidos. Sin embargo interpreto que es fruto del ímpetu por defender tu afán por el ASM que por ofender al resto.
En fin, no voy a volver a defender una u otra opción, pero sí que todas las opciones son válidas si quien las utiliza obtiene resultados.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Tema Dividido. ¿ASM Vs C?
« Respuesta #5 en: 16 de Octubre de 2006, 15:22:55 »
Esos argumentos, los comparta o no, son mucho más respetuosos que los de "principiantes, vagos o encantados con desperdiciar recursos".

Desconectado Mil24.

  • PIC12
  • **
  • Mensajes: 78
Tema Dividido. ¿ASM Vs C?
« Respuesta #6 en: 17 de Octubre de 2006, 00:55:05 »
Comparto tu pensar Nocturno!!  :)
Esta bastante bueno el tema!!  Yo en realidad empece hace varios años con el querido basic, despues de a poco me fui metiendo en c y c++.

Intente en un comienzo meterme de lleno en la pileta del asembler pero casi me ahogo! :D.
hasta que descubri el c, que te simplifica la vida, por lo menos a los que estamos empezando en esto, si bien es un desperdicio en determinados casos de recursos como decia el amigo mas arriba, es un ahorro imprescindible de tiempo.

De todas formas mi meta es llegar mucho mas lejos y espero en algun momento poder manejar el asembler como manejo el Visual Basic!!  :)

De paso meto el chivo y aprovecho para agradecer a todos los que le ponen pilas a este foro para que los que estamos gateando en el mundo de los pics podamos agarrarnos de algo y empezar a levantarnos!!  :-/

Saludos!!
mas de 5 millones de años de evolucion y aun no entendemos el valor de una vida... seguimos hacia adelante por la inercia de la codicia... ahogandonos en un mar de excesos e incomprension... presos de una dictadura neuronal que nos condena a la absoluta e irremediable extincion...

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Tema Dividido. ¿ASM Vs C?
« Respuesta #7 en: 17 de Octubre de 2006, 03:58:19 »
No lo digo para ofender a nadie, porque yo tambien me siento constantemente tentado por la velocidad con que en "C" puedo programar PICs, pero si esto lo llevamos mas alla de los programas basicos y queremos hacer algo profesional o que se venda en cantidad, siempre termina siendo un desperdicio.

No creo que se pueda considerar "desperdiciar" a aquello que consume más de un recurso(memoria/tiempo de procesado) para ahorrarlo en otro, a mi parecer, más valioso aún: el tiempo de programación del soft.

Si alguien me explica en que PIC puedo meter un programa de mas de 200.000 lineas de codigo en Assembler, que si lo hubiera hecho en "C" tendria posiblemente mas del doble y tendria que esperar  hasta que pudiese conseguir micros de 512KFlash. Un contratiempo innecesario, ademas del costo.
Saludos.

Si vamos a hablar de desperdiciar, podría decirte que si tu programa hecho en ASM ocupa 567 words para un 16F84A, estas desperdiciando 457 lineas de memoria del micro, y probablemente tambien mucho mas en memoria GPR, EEPROM, módulos, etc...

Seguramente has exagerado el número porque 200000 words es mucho código para generar en ASM.
A mi parecer si has hecho un programa de 200000 words en ASM veo  dos opciones:
  • Eres un experto programador, y has dedicado mucho tiempo a un sistema muy complejo y avanzado exprimiendo palabra a palabra al máximo ;
  • o bien eres un desastre programando y en este caso el desperdicio en realidad lo provocarias tu.Probablemente generaste mayor desperdicio del que podria haber generado el lenguaje C

Yo siempre he programado en ASM, me he preocupado por ver a fondo muchos detalles de este lenguaje tanto en PCs como en PICs.
Soy fanático del ASM para PICs pero sólo para las familias 12 y 16 y hasta tal vez la 18.

Más allá de esas seguramente usaré otro lenguaje de mas alto nivel ya que no quiero volverme viejo y calvo por terco/fanático.

Por suerte ningún proyecto que he hecho hasta hoy me ha hecho tener que irme a una familia tan elevada como para alejarme de mi querido ASM.
Resumiendo,
como he dicho anteriormente:

Si funciona, vale.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
Tema Dividido. ¿ASM Vs C?
« Respuesta #8 en: 17 de Octubre de 2006, 14:03:25 »
LLegas al despacho del jefe y te dicen: quiero tal proyecto con tal microcontrolador para dentro de un mes!!!

Te vas de su despacho y dices: ummmm voy aprovechar al máximo la memoria del micro!!!

La verdad es que no, lo que uno hace es que funcione lo antes posible y después un 'lifting' de código si hay tiempo.....en contadas ocasiones claro, ya que casi nunca hay tiempo para ésta tarea, y para ello es fundamental, como ya he dicho, el tiempo, algo que los lenguajes de alto nivel te ponen 'en bandeja'.

PD: el jefe quiere que funcione...


Suerte!!! :wink:
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Tema Dividido. ¿ASM Vs C?
« Respuesta #9 en: 18 de Octubre de 2006, 01:46:52 »
¡Qué envidia!, yo cuando sea grande quiero ser como tú.

Cuando crezca me gustaría hacer todas esas cosas que has nombrado, teniendo la capacidad de concentrarlas en el micro más pequeño, que funcionen mejor que ninguna otra, que sean las más rápidas, que sean las más baratas, y ... encima sin jefe.

Pero aún me queda tanto; todos los días aprendo cosas y no veo el momento en que deje de aprender. Todavía me falta mucho para llegar a ese nivel en el que uno está en posesión de la verdad absoluta; y tan convencido y seguro de estar en lo cierto que pueda menospreciar las opiniones de los demás con actitud arrogante.

Con maestros como tú, veo la meta todavía más lejos, pero no bajan mis ganas de aprender y mi motivación. Gracias por tu aportación.

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Tema Dividido. ¿ASM Vs C?
« Respuesta #10 en: 18 de Octubre de 2006, 01:58:52 »
yo comenze a usar el ASM para programar PICs, sin embargo para las familias 18 el ASM te queda un poco pesado ademas de q esa familia a 18 es de 16bits, y explore un poco el lenguaje C y hay cosas
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Tema Dividido. ¿ASM Vs C?
« Respuesta #11 en: 18 de Octubre de 2006, 04:53:57 »
BRUNOF, no exageré para nada el numero de lineas de codigo, estoy usando la familia 24 (PIC24HJ256GP610) y las dos opciones que das son totalmente posibles, pero en mi caso se aproxima mas la primera, son sistemas de varios meses de desarrollo si sumamos el tiempo de diseño de la placa, la programacion del micro y la programacion del soft de PC en VBasic y la responsabilidad de tener que entregar un producto que no falle bajo ninguna circunstancia y que no sea exageradamente costoso en la produccion en serie. Estoy hablando de equipos que tienen que controlar teclados, impresora termica, varios puertos de todo tipo, conexion con molinetes, barreras opticas, colectores de datos, tarjetas contactless, GPS, GPRS, guardar una cantidad de informacion estadistica grande en memorias externas y muchas cosas mas, todo con un solo micro.

Me parece que te faltaria seguir agregando mas cosas para llegar a las 200000 words. Tal vez que controle 4 reactores nucleares, el Fuerza Aérea Uno y el centro de cómputos de la CIA(en enlace con la INTERPOL).
Mis programas más extensos, no han llegado siquiera a 1K de memoria, y he utilizado varias cosas de las que mencionaste.

Con todo lo que has dicho te tenia en un pedestal, alla arriba con los físicos que crean los microcontroladores y mis padres, pero has mencionado Visual Basic...

Un programa profesional como pintas que es el tuyo jamás puede estar hecho en VB.
VB no le llega ni a los talones a un Borland C++, un Java de Sun o un Delphi.
VB es un despilfárro de recursos y mediocre en lo que a compatibilidad e independencia se refiere.

Aprovecho para invitarlos a los que anden por Buenos Aires a la exposicion de la semana proxima (25, 26, 27 y sabado 28) donde podran ver como con un viejo PIC16f873A al 60% de su capacidad (En Assembler obvio) puedo hacer mas de lo que en otros paises hacen com micros mas costosos (Seguro programan en C jeje). Para ver el producto podes entrar en www.somyc.com.ar y para informarte sobre la expo donde habra equipos muchisimo mejores que el mio, entra en www.innovar.gov.ar.

La seguridad de tus afirmaciones me parecen, a esta altura, hasta envidiables. Yo no podria atreverme a decir eso.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Tema Dividido. ¿ASM Vs C?
« Respuesta #12 en: 18 de Octubre de 2006, 14:32:43 »
Edito mi post, pues veo que es perder el tiempo, por mi parte fin de la discusion.

Saludos
« Última modificación: 27 de Octubre de 2006, 17:23:30 por veguepic »
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Tema Dividido. ¿ASM Vs C?
« Respuesta #13 en: 18 de Octubre de 2006, 15:36:09 »
Parece que no estas muy convencido de las cosas que hacen algunos de los proyectos que mencione, me da mucha lastima que asi sea ya que demuestra que tus proyectos estan muy muy lejos. Realmente crei que en este foro encontraria gente con mucho conocimiento, para poder debatir y aprender sobre algunos temas, pero ultimamente me estoy desepcionando, el nivel de estas ultimas respuestas es muy basico.
Es una lastima.

Es verdad...estan muy muy lejos como tu dices.
Ahora la pregunta será: ¿muy muy lejos hacia abajo o muy muy lejos hacia arriba?

Esto me recuerda a cuando tenia 8 años y discutiamos quien tenia mas super poderes...yo ya no estoy para semejantes pavadas.

Te voy a decir la verdad. Mis logros probablemente no lleguen al 1% de los que tu has mencionado lograr... ¡Pero qué alegría me han dado lograrlos! Si vieras la cara de felicidad que me han dado, horas y horas de alegría, me han convertido en mejor persona porque aquí en el foro me han ayudado a lograrlos, he hecho amigos y aprendí a valorar cada pequeño paso que voy dando. Aprendí a compartir, a que me den y dar una mano desinteresadamente, a creer en que puedo ser cada dia mejor.
¿Qué más puedo pedir?
Nací burro y burro moriré, pero siempre conservare mis valores, entre ellos la humildad ¿te suena?, tendré muchísimos amigos y una desbordante alegría por mis miserables logros.

Yo te aliento a que te quedes en el foro, no te das la menor idea de todo lo que este foro tiene para enseñarte...Tal vez no en PICs, pero sí en calidad humana.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Tema Dividido. ¿ASM Vs C?
« Respuesta #14 en: 18 de Octubre de 2006, 18:14:36 »
Hola carcass, realmente el .asm es más rapido y eficiente a la hora de correr el programa con el PIC, aparte de que no ocupa tanto tamaño de memoria y entra en micros más pequeños, ahora yo te pregunto ¿As intentado programar un dsPIC con .asm?, yo tan solo e intentado con un 18F y realmente me a colmado, no es que no se pueda programar, pero es algo que realmente llena los quinotos ¿No piensas eso?

Si as intentado programar un dsPIC me gustaría saber como as hecho para hacer llevareda la cuestión, ojo no pienses que esto es una gastada o ironia o como gustes llamarlo, como ya te comenté de veras e tratado de programar un 18F y me colmo, no quiero ni pensar lo que sería programar un dsPIC.

Un saludo.

Atte. CARLOS.
La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.