Lcall e Lgoto

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Lcall e Lgoto

Mensagempor Nik » 31 Jul 2007 14:13

Pessoal, preciso de um help,

Estou fazendo um programa para o 16F873A, que futuramente usarei no 876A. Reparei que no 873 funciona legal, mas no 876 dá problemas ao gravar e ler a eeprom, entre outros. Como troquei vários chips e o problema continua, acho que tem algo errado no firmware. Desconfio das páginas de memória, pois o programa passou um pouco da pag. 0.

Mudei então todos os call e goto para lcall e lgoto, e aí o programa nem roda mais no 873. Vi que uma subrotina estava metade na página 0 e metade na 1. Separei esse ponto com um org 0x0800, mas nada adiantou.

Alguém teria uma idéia do que está acontecendo? Porque ao usar o lcall e lgoto fu... tudo de vez?
Nik
Bit
 
Mensagens: 42
Registrado em: 07 Nov 2006 06:04

Mensagempor Nik » 31 Jul 2007 17:34

Andei estudando o assunto e descobri que o lcall e lgoto não podem ser usados simplesmente como substituição do call e goto, como o nosso caro
mestre Proex mostra no tópico:

http://asm51.eng.br/phpBB/viewtopic.php?t=2954

vejam em:
http://brunningsoftware.co.uk/high.htm
http://72.14.253.104/search?q=cache:byx ... lr=lang_pt


Isso porque parece que exite um problema com o espaço de programa que elas ocupam, o que pode atrapalhar a sequencia do programa ao usar instruções do tipo btfsc.

Bom, continuo na mesma, sem saber como resolver meu problema, já que é complicado acertar todo o código na unha. Muitos pontos são chamados de lugares diferentes e chamam de lugares diferentes.

Alguma sugestão?

Abçs
Nik
Bit
 
Mensagens: 42
Registrado em: 07 Nov 2006 06:04


Voltar para PIC

Quem está online

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

x