duvidas operadores mpasm

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

duvidas operadores mpasm

Mensagempor diogo_18sp » 21 Jun 2011 17:39

ola boa tarde a todos estou com umas duvidas dos operadores mpasm , estava lendo o livro desbravando o pic dai fiquei com uma duvida posso utilizar os operadores em minha programaçao , a linguagem que uso eo assembler e uso o mplab 7.20...

valor = flags << 2 ;

poderia usar este trecho do programa para rotacionar um bit?

obrigado
diogo_18sp
Byte
 
Mensagens: 117
Registrado em: 14 Jan 2008 18:12
Localização: Amparo ,SP

Re: duvidas operadores mpasm

Mensagempor andre_luis » 21 Jun 2011 18:01

Se a variável flags representar um BIT, sim.
Entretanto, esse comando conheço da linguagem C.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: duvidas operadores mpasm

Mensagempor Jorge_Francisco » 21 Jun 2011 18:15

andre_teprom escreveu:Se a variável flags representar um BIT, sim.
Entretanto, esse comando conheço da linguagem C.

+++


Isso aí é o mesmo que multiplicar flags por 4, irá rotacionar 2 bits à esquerda, mas em asm acho que é a instrução é RLCF.
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor MOR_AL » 22 Jun 2011 11:43

Que eu saiba seria:

rlf registro, destino
rlf registro, destino

Observar que o conteúdo do carry (STATUS,C) vai para o bit 0 do registro e o bit 7 do registro vai para o carry.
Ou seja é um loop que contém o registro e o bit cary.

Não sei se o MPASM aceita a instrução que você postou. Só testando.

Testei e ele não gostou! :cry:

MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor RobL » 23 Jun 2011 12:13

Observe que em Assembly não se usa se quer sinal de = para associação.
No entanto, em certos programas, em assembly, ve-se o operando com uma função complexa com soma, multiplicação, divisão, operações que o set de instruções não fazem. Isto é em nível de "linkador". Antes do processo de produzir o código fonte, essas operações serão feitas pelo programa no PC e um valor final será colocado no lugar dessa operação. Só então será linkado. Daí poderá ver complexas operações com sinais <<, >> * / etc... , do lado direito de uma instrução. Estas operações ajudam a tornar o programa mais compreensível.

Por ex:
MOVLW, (Fclk * (Motor / 4))

em vez de

MOVLW, 0x12
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x