Autor Tema: Comentarios sobre el tutorial 'ASM desde 0'  (Leído 69702 veces)

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

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #60 en: 26 de Marzo de 2009, 18:49:25 »
leí en un documento sobre una instruccion llamada setf q es para poner en 1 todo un byte..alguien sabe de esta instruccion? es verdad o mentira?

setf no existe en los pic16

Existe en los pic18 por ejemplo.

Desconectado Juancar

  • PIC12
  • **
  • Mensajes: 79
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #61 en: 26 de Marzo de 2009, 22:15:12 »
Gracias a tapi8 y suky  :-/

Un saludo.
"Las cosas se hacen bien, o no se hacen"

Desconectado Alejandro Oteiza

  • PIC10
  • *
  • Mensajes: 29
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #62 en: 24 de Abril de 2009, 20:07:13 »
Hola¡ Soy nuevo en esto de los pic, anteriormente había leido libros para enterarme del funcionamiento de los mismos y todo en "assembler" y la verdad que no me había enterado casi de nada, pero leyendo este tutorial veo que me voy a enterame, lo leeré varias veces para que se me quede bien claro todo lo expuesto. Yo lo poco que sé, es de manera autodidacta y haciendo muchas practicas con los pic, pero sin tener verdadero conocimiento de su funcionamiento. Hoy es la primera vez que lo tengo más claro. Por favor no dejéis de
seguir con este tutorial. Muchas gracias a tod@s. Alejandro.

Desconectado Goodfrey

  • PIC12
  • **
  • Mensajes: 87
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #63 en: 10 de Octubre de 2009, 19:10:18 »
Buenas tarde como estan, soy principante en esto de programacion del pic estoy aprendiendo un poco lo referente a los retardos para las rutinas pero tengo un problema, me mandaron a hacer un retardo de medio segundo.... pero solo lo se hacer a pie hasta un retardo doble y eso solo me da hasta 200ms aproximadamente... y intente buscar en el buscador y lo que me aparece mas que todo es el programa que calcula los retardos.

Pero sinceramente necesito aprende a hacer un retardo treple o superior pero por mi mismo asi calculando.... me gustaria que alguien me lo explicara para un princiante totalmente nuevo...  se lo agradeceria en el alma...

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #64 en: 10 de Octubre de 2009, 23:19:21 »
Revisa aquí, explico como se obtiene una demora con lazo simple y anidado doble, entendiendo eso ya puedes armar y calcular la tuya de 3 ciclos  ;-)


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado JoseLuis2801

  • PIC16
  • ***
  • Mensajes: 168
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #65 en: 07 de Octubre de 2011, 18:25:21 »
Borrado, es que ya he dado con ello.

Un saludo
« Última modificación: 07 de Octubre de 2011, 18:38:07 por JoseLuis2801 »

Desconectado donpablio

  • PIC10
  • *
  • Mensajes: 5
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #66 en: 25 de Marzo de 2013, 16:32:29 »
Las instrucciones
Ejemplo

Código: [Seleccionar]
        ADDLW      .128
Si W tenía cargado un valor = .5, después de la instrucción W tiene cargado el valor .133


una pequeña duda no deberia ser .628 o como se suma en ensamblador hay algunas reglas para esto?, perdon la pregunta pero soy nuevo y me confundi con esto

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #67 en: 26 de Marzo de 2013, 10:19:08 »
El . indica que es decimal (los números que nosotros usamos). Por lo tanto, 128 + 5 = 133
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado donpablio

  • PIC10
  • *
  • Mensajes: 5
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #68 en: 26 de Marzo de 2013, 15:14:51 »
ya entendi, yo lo habia tomado como .128 de la unidad mas .5 de la unidad jeje, gracias por tu ayuda

Desconectado PEJEAHGO

  • PIC10
  • *
  • Mensajes: 7
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #69 en: 05 de Abril de 2013, 20:52:58 »
Ya veo que estan  hablando de assembler ...soy nuevo en esto prodrian ayudarme con informacion o libros  para progrmar En assembler?(16f877) agradeceria cualquier informacion Gracias

Desconectado carlomax360

  • PIC10
  • *
  • Mensajes: 1
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #70 en: 24 de Mayo de 2013, 23:15:00 »
Excelenteeeee!! muy buen tutorial. Se agradece mucho tu tiempo compadre!!
Una solicitud: Podrias resubir las fotos del tutorial por favor?? Muchas gracias

Desconectado milnac

  • PIC10
  • *
  • Mensajes: 2
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #71 en: 11 de Julio de 2015, 12:02:13 »
Cita de Leon Pic :
Citar
Citar
el porqué de un programa escrito en ASM (assembler) lleva menos línea de instrucción que el mismo programa realizado en otro lenguaje. Esto se traduce que, cuanto menos líneas de código, menor consumo de la memoria de programa.

Yo veo que cuando se programa en C se utiliza muchisimo menos lineas de codigo que en ASM. Entonces por qué Leon Pic dice que con ASM se hace menos lineas de codigo?


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Comentarios sobre el tutorial 'ASM desde 0'
« Respuesta #72 en: 11 de Julio de 2015, 16:40:46 »
Citar
Yo veo que cuando se programa en C se utiliza muchisimo menos lineas de codigo que en ASM. Entonces por qué Leon Pic dice que con ASM se hace menos lineas de codigo?

Estas en lo correcto, para el usuario son muchas menos lineas de codigo. Y eso es lo que lo hace atractivo
Pero cuando ves el ASM generado de una funcion de C te das cuenta que por algo simple que te llevaria unos 20 lineas en ASM, terminas con 50 lineas o muchisimas mas en C. Y hay peores casos.
En el foro se presento una vez la necesidad de hacer una formula para un servomotor, el autor dijo que lo pensaba hacer en ASM, el cual se le ayudo y la ecuacion en cuestion fue esta:

Posicion_Servo = 31 + ((int16)(ValorADC * 124) / 256);

terminamos con un codigo en ASM de 10 lineas para un ADC de 10bits o 8bits. Y utilizando unicamente 2 posiciones de memoria ( 1 para el resultado y otro temporal que puede usarse en cualquier otro lado del programa ).
Mientras que para hacer una comparativa con C esa formula que ves ahi tardaba 654 ciclos en realizarse, luego hice varias formulas en C para ver cual era la mejor, las simule para contar la cantidad de ciclos que necesitaba, algunos se acercaron BASTANTE a lo que habiamos realizado, pero otros no incluso eran mas ciclos que la ecuacion "original".

http://www.todopic.com.ar/foros/index.php?topic=44247.20

La diferencia radica en que las funciones de C estan realizadas para todo tipo de valores, mientras que en ASM haces el codigo especifico para eso, pero tenes que volver a comenzar si deseas cambiarlo


 

anything