Pregunta

¿Existe un código de convenciones para el ensamblaje (principalmente PIC)?

¿Fue útil?

Solución

Pude encontrar el Guía de estilo del lenguaje ensamblador (PDF) que te puede interesar.

Otros consejos

Al escribir el montaje, que es bastante útil y no del todo por la borda a Comentarios cada línea

Depende de si su programación en el montaje o el uso de un compilador C para crear el ensamblado para usted, si el rendimiento es importante no utilizar un compilador C, escribir el montaje usted mismo.

pero en general las convenciones son de comentar cada línea, utilizan subrutinas con nombres simples puntero significativas. hay algunas cosas que haría comentarios sobre el bloque, es decir,

    start:   movlw   0x24      //  \
             movf    count     //   put 24 into count


    MyCount: decfsz  count     //decrement count and exit if done
             goto    myCount   //do the loop
             goto    exit      //count is done exit

Este es el típico de codificación, la primera columna de la dirección de los punteros siguiente para el comando y se asocia por lo general vars definir los VARs en la sección de cabecera antes de que el programa en sí, sino que es particular, al ensamblador que está utilizando. algunos no le dan la opción de puntero variable y usted tiene que utilizar una ubicación de memoria directa. Si nos fijamos en el código comentado volver a cabo de la desensamblador que se vería así.

    0020  movlw  0x24
    0021  movf   0x25     // 0x25 = memory address of count
    0022  decfsz 0x25
    0023  goto   0x0022   // loop back to 0x22 until count = 0
    0024  goto   0x01FF

entonces como comentario asegúrese de que su grupo utilice el código de 'nop' s para compensar código para buenos números redondos como empezar a tener una dirección de 20 direcciones que salen de entre 2 y 20 clara para interrupciones y similares. dependiendo del chip escribo un montón de código para los 12F675 de modo que es el modelo que suelen utilizar.

también mantener el código de subrutinas simples y claras y allá direcciones deben ser números redondos agradables dejando bloques de 10 o menos de nop entre sus subrutinas iniciales siempre se puede volver atrás y comprimir el código más tarde. y siempre comentar su código no se puede comentar lo suficiente.

También Solemos ser puesto mi init routeen tan cerca del final de la memoria como posible dejar el máximo espacio para que el programa en sí.

Espero que ayude un poco.

Yo no creo que haya nada formal, pero la lectura de las muestras de codificación en su página web le da un sabor de los idiomas habituales. Sólo ten en cuenta que hay un montón de 'contribuciones' de muchos aficionados diferentes, y que podría no ser tan agradable.

También comprobar otros proyectos, la mayoría tendrá código feo; pero encontrará una joya o dos.

Nunca hice programa en el PIC, pero gustaba leer el código. Recuerdo vagamente un "sistema operativo en tiempo real" con un flujo de ejecución muy agradable y limpio. No recuerdo cómo es constante era el estilo de codificación, pero me gustaría empezar por ahí.

que es mejor leer la mayoría de ellos y cuando es tan fácil como la prosa, a continuación, encontrará su estilo

Estoy con Jason S - utilizar un compilador de C, si es posible, incluso si al final de la incrustación de unas pocas líneas de lenguaje ensamblador en su archivo ".c" usando la palabra clave '__asm'

.

Si tiene que escribir programas enteros en ensamblador para el PIC, la convención de llamada de función es recomendada en piclist:. PIC Paging y PCLATH

Realmente dependería del modelo de PIC que está utilizando. Por ejemplo, PIC16s y PIC18s tienen una gran cantidad de ejemplos de montaje que se pueden encontrar fácilmente en la web.

Sin embargo, como los modelos PIC24 y PIC32 están mucho más orientadas a C. Su son un montón de ejemplos de PIC en C que se pueden encontrar en el sitio web para su modelo específico de CFP. Estos modelos PIC todavía se pueden programar en la Asamblea, pero su muy pocos ejemplos web sobre cómo. El mejor recurso para que se encuentre en MPLAB en "Ayuda", marque la casilla "Contenido de la ayuda" de cualquier ensamblador utiliza el modelo de PIC. Esto le mostrará algunos ejemplos, así como instrucciones sobre cómo programar en ensamblador PIC PIC y realizar tareas simples, tales como la definición de la memoria o escribir macros.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top