Página 1 de 1

Como usar DB e MOVC A, @A+DPTR ?

MensagemEnviado: 29 Dez 2009 20:01
por Renato Nogueira
Ainda não consegui entender direito essa instrução e nem a diretiva DB.

Pelo o que entendi essa parte da instrução @A+DPTR, significa que no DPTR está o endereço da tabela na memória de programa e no A está o endereço do byte da tabela que eu quero MOVER para o A. Sei também que esta tabela fica entre a última instrução e o END.

Mas ainda não entendi algumas coisas como por exemplo MOV A, #tabela; Como pode isso? Vi isso num exemplo, mas acho que antes o programador usou a diretiva EQU para igualar TABELA EQU XXh(endereço da tabela). Certo???

Eu preciso saber disso pois preciso guardar o valor de 60s numa tabela.

Mas ainda não decidi se faço isso com memória de programa ou memória e2prom interna(89s8253).

Alguém poderia me dar um exemplo. Pode ser bem simples mesmo, de algumas linhas.

Abraço!

MensagemEnviado: 30 Dez 2009 09:08
por Djalma Toledo Rodrigues
DB ----> Data Byte

DW ----> Data Word

Da Tabela:

Pode estar em qualquer posição da Memóriia, geralmente esta após o final do programa.
Se estiver inserida no programa é claro que haverá um Jump.

DPTR ----> Data Pointer 16 Bits localizado no Endereço 82H DPL e 83H DPH do SFR

É uma boa prática colocar na primeira posição da Tabela o seu comprimento, para delimitar a leitura.

DJ

MensagemEnviado: 31 Dez 2009 09:40
por tcpipchip
MOV A, #tabela;

Neste caso, o ponteiro para tabela é de 256 posiçoes...

O montador traduz o endereço da tabela para ti...

depois use @A