¿Existe un código de convenciones para el ensamblaje (principalmente PIC)?[cerrado]
-
09-09-2019 - |
Pregunta
¿Existe un código de convenciones para el ensamblaje (principalmente PIC)?
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.