Pergunta

Há um Convenções de Código para Assembly (principalmente PIC)?

Foi útil?

Solução

Eu era capaz de encontrar href="http://www.sourceformat.com/pdf/asm-coding-standard-brown.pdf" rel="nofollow Guia Assembly Language Style (PDF) que você talvez possa estar interessado.

Outras dicas

Ao escrever a montagem, é muito útil e não em tudo ao mar para Comentário cada linha

Isso depende se sua programação em assembly ou usando um compilador c para criar o assembly para você, Se o desempenho é importante não usar um compilador c, escrever a montagem mesmo.

mas, em geral, as convenções são para comentar cada linha, use sub-rotinas simples com nomes ponteiro significativas. existem algumas coisas que você gostaria de comentar sobre o bloco, ou seja

    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 é o típico de codificação, a primeira coluna para os ponteiros de endereço a próxima para o comando e associados vars você costuma definir o vars na seção de cabeçalho antes de o programa atual, mas que é especial para a montador você está usando. alguns não dar-lhe a opção ponteiro variável e você tem que usar um local de memória direta. se você olhar para o código comentado voltando para fora do desmontador que seria parecido.

    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

então você comentá-lo certifique-se de grupo o uso de código 'nop' s para compensar código para bons números redondos como começar a ter um endereço de 20 endereços deixando entre 2 e 20 claro para interrupções e afins. dependendo do chip de eu escrever um monte de código para os 12F675 de modo que é o modelo que eu costumo usar.

também manter o código em sub-rotinas simples e claras e não há endereços devem ser agradáveis ??números redondos deixando blocos de 10 ou mais de nop entre as sub-rotinas iniciais você sempre pode voltar e comprimir seu código mais tarde. e sempre comentar seu código você não pode comentar o suficiente.

Também I usualy colocar meu inicialização routeen tão perto do fim da memória como posible deixando o espaço máximo para que o programa real.

Espero que ajude alguns.

eu não acho que haja nada formal, mas a leitura das amostras de codificação em seu site dá-lhe um gosto dos idiomas habituais. apenas estar ciente de que existem muitas 'contribuições' de muitos amadores diferentes, e eles podem não ser tão bom.

também verificar outros projetos, a maioria vai ter código feio; mas você vai encontrar uma jóia ou dois.

i nunca fez programa no PIC, mas gostava de ler o código. Lembro-me vagamente de um "sistema operacional de tempo real" com um fluxo de execução muito bom e limpo. Não me lembro como consistente era o estilo de codificação, mas eu começar por aí.

é melhor para ler a maioria deles e quando é tão fácil como prosa, então você vai encontrar o seu estilo

Eu estou com Jason S - usar um compilador C, se possível, mesmo se você acabar incorporando algumas linhas de linguagem assembly em seu arquivo ".c" usando a palavra-chave '__asm'

.

Se você deve escrever programas inteiros em assembler para o PIC, a convenção chamada de função recomendado é de pelo PIClist:. PIC paginação e PCLATH

Seria realmente dependem do modelo de PIC você está usando. Por exemplo, PIC16s e PIC18s tem um monte de exemplos de montagem que podem ser facilmente encontrados na web.

No entanto modelos como PIC24 e PIC32 são muito mais voltadas para C. Os seus são um monte de exemplos PIC em C que podem ser encontrados no site para o seu modelo PIC específico. Estes modelos PIC ainda pode ser programado na Assembleia, mas os seus são muito poucos exemplos web sobre como. O melhor recurso para que está em MPLAB em "Ajuda", marque a opção "Conteúdo da Ajuda" do que quer que Assembler seus usos modelo PIC. Isto irá mostrar-lhe alguns exemplos, bem como instruções sobre como programa no PIC montagem e realizar tarefas PIC simples como a definição de memória ou escrever macros.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top