Domanda

Ci sono convenzioni di codice per il montaggio (principalmente PIC)?

È stato utile?

Soluzione

Sono stato in grado di trovare la href="http://www.sourceformat.com/pdf/asm-coding-standard-brown.pdf" rel="nofollow noreferrer"> Assembly Language Guide che potrebbe essere interessato a.

Altri suggerimenti

Quando si scrive di montaggio, è abbastanza utile e non è affatto in mare per Commento Ogni riga

Dipende se la programmazione in assembly o utilizzando un compilatore C per creare l'assembly per voi, se la prestazione è importante non utilizzare un compilatore C, scrivere l'assemblea da soli.

, ma, in generale, le convenzioni sono di commentare ogni linea, utilizzare semplici subroutine con nomi significativi del puntatore. ci sono quarantina si sarebbe commentare sul blocco, vale a dire

    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

Questa è la codifica tipico, la prima colonna per l'indirizzo puntatori il prossimo per il comando e associato vars di solito definire le Vars nella sezione di intestazione prima che il programma vero e proprio, ma che è soprattutto per l'assemblatore che si sta utilizzando. alcuni non vi danno l'opzione variabile puntatore e si deve utilizzare una posizione di memoria diretta. Se si guarda il codice commentato tornando dalla disassembler sarebbe simile.

    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

allora si commento fuori assicurarsi di gruppo per l'utilizzo del codice 'nop' s per compensare il codice a cifre tonde buone come iniziare ad avere un indirizzo di 20 indirizzi in uscita tra 2 e 20 chiaro per gli interrupt e simili. a seconda del chip scrivo un sacco di codice per le 12F675 di modo che è il modello di solito uso.

anche mantenere il codice in semplici subroutine chiare e là indirizzi devono essere numeri rotondi piacevoli lasciando blocchi di 10 o giù di lì NOP di fra i vostri subroutine iniziali si può sempre tornare indietro e comprimere il codice in seguito. e sempre lasciare un commento, il codice non è possibile commentare abbastanza.

Inoltre ho messo il mio usualy init routeen il più vicino alla fine della memoria come posible lasciando lo spazio massimo per quel programma vero e proprio.

La speranza che aiuta un po '.

io non credo che ci sia nulla di formale, ma leggendo i campioni di codifica sul loro sito web ti dà un assaggio dei soliti idiomi. Basta essere consapevoli che ci sono un sacco di 'contributi' da molti hobbisti diversi, e potrebbero non essere così bello.

controllare anche altri progetti, la maggior parte avrà codice brutto; ma troverete una gemma o due.

Non ho mai fatto programmi su PIC, ma piaceva leggere il codice. Mi ricordo vagamente un "sistema operativo in tempo reale" con una davvero bella e pulita flusso di esecuzione. Non ricordo come consistente è stato lo stile di codifica, ma mi piacerebbe cominciare da lì.

è meglio leggere la maggior parte di loro e quando è così facile come la prosa, allora troverete il vostro stile

Si sarebbe davvero dipendono dal modello di PIC che si sta utilizzando. Ad esempio, PIC16s e PIC18s hanno un sacco di esempi di montaggio che possono essere facilmente trovati sul web.

Tuttavia modelli come PIC24 e PIC32 sono molto più orientati verso C. Loro sono un sacco di esempi PIC in C che si possono trovare sul sito web per il vostro modello di PIC specifica. Questi modelli PIC possono ancora essere programmate in Assemblea, ma la loro sono pochissimi esempi web su come. Il miglior risorsa per che è in MPLAB sotto "Aiuto", controllare il "Sommario" di qualsiasi Assembler vostro modello PIC utilizza. Questo ti mostrerà alcuni esempi, così come le istruzioni su come programmare in assembly PIC e svolgere compiti PIC semplici come la definizione di memoria o la scrittura di macro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top