miércoles, 22 de enero de 2020

TABLAS

¿Cómo se guardan los datos de las "tablas" en memoria de programa?

Para saber como se guardan los datos en las "tablas" se van a realizar unos ejemplos básicos:

Ejemplo1 :Almacenamiento de tabla .org 0x0000 

------------------------------------------------------------------------------------------------------------------------------------------------------
Figura1:ORG 0x0000

Como se observa en la figura 1 la "tabla" en la dirección 0x0000(Word) coincide con la dirección 0x00 en Byte.

Ejemplo2 :Almacenamiento de tabla .org 0x0001 

------------------------------------------------------------------------------------------------------------------------------------------------------


Figura2:.ORG 0x0001

En la figura 2 los valores de  la "tabla" se van guardando desde la dirección 0x02 en Byte y desde la dirección 0x0001(como lo ordena .ORG 0x0001). 

Ejemplo3 :Almacenamiento de tabla .org 0x0002 

------------------------------------------------------------------------------------------------------------------------------------------------------
Figura3:.ORG 0x0002

En la figura 3 los valores de  la "tabla" se van guardando desde la dirección 0x04 en Byte y desde la dirección 0x0002(como lo ordena .ORG 0x0002). 

Ejemplo4 :Almacenamiento de tabla .org 0x0003 

------------------------------------------------------------------------------------------------------------------------------------------------------
Figura4: .ORG 0x0003

En la figura 4 los valores de  la "tabla" se van guardando desde la dirección 0x06 en Byte y desde la dirección 0x0003(como lo ordena .ORG 0x0003). 

 Conclusiones 

  • La construcción de "tablas" se establecen dentro de memoria FLASH o memoria de programa.
  • Se observa que cuando el origen de la tabla " Adress(.org 0x000a)" este es WORD(16 bits) los datos se van a guardar en "Adress(.org 0x0[2a])" este es en Byte.
  • Por lo anterior se puede decir que cuando doy un origen a(dirección en word), los valores se van a guardar en a*2(dirección en byte) 
  • Al momento de llamar la dirección de la "tabla" en byte éste será el doble de la dirección de  origen(en word) de la "tabla".
  • Para llamar la dirección de la tabla(en byte) desplazada 1 posición hay dos maneras; la primera es [tabla*2] y la segunda  es [tabla<<1].

No hay comentarios:

Publicar un comentario

Uso del firmware original de la grabadora USBasp AVR en MX-USBASP (clon chino)

Te vendieron un USBisp pensado que es un USBasp?? Hace 2 meses compré un "USBasp" fui a probarlo y no funcionó....pensé me estafar...