Página 1 de 1

Asm do PIC24 vs Asm do PIC16

MensagemEnviado: 24 Mai 2013 13:44
por Cefas
Olá.

Eu sempre programei em asm utilizando os PIC16 e agora estou programando em C e Asm pros PIC24. Quando eu programava os PIC16 sempre realizava a operação antes para o acumulador e depois para o destino, por exemplo:

MOVLW 0xFF ;move literal para o acumulador (Work)
MOVWF PORTB

Nos PIC24 muda tudo, por exemplo:

MOV.B #OxFF, PORTB ; Diretamente

Na arquitetura de 16bits da microchip

*Nos Pic24 não exite acc?

Re: Asm do PIC24 vs Asm do PIC16

MensagemEnviado: 24 Mai 2013 15:08
por RobL
Não conheço o PIC24, mas como isto ocorre em outras arquiteturas, simplesmente o registro usado como "acumulador" está implícito na instrução.

Informando um pouco mais, há arquiteturas que usam vários registros e registros auxiliares ("acumuladores"). Há casos que certa instrução usa certo "acumulador" e outras outro. Nos AVRs e nos ARMs, você tem vários registros fazendo o papel de acumulador, mas não apenas um como nos pic16F.

No seu caso, lê o binário na flash, seleciona o registro "da vez" (ou da instrução) e joga para a porta, não importando para você qual "acumulador" foi utilizado.

Re: Asm do PIC24 vs Asm do PIC16

MensagemEnviado: 24 Mai 2013 16:27
por RobL
Com DMA, vai direto, mas aí é outra história.

Re: Asm do PIC24 vs Asm do PIC16

MensagemEnviado: 24 Mai 2013 21:40
por vtrx
Da uma lida no Datasheet pois existem muitos detalhes e vários ACC(W#).