ImagenImagenImagenImagen
Hazte Socio (El Foro siempre Gratis)
Paga con Tarjetas+ Info www.arde.cc/socios

ayuda con contador de 2 bytes

Foro para postear los temas de ensamblador

Moderador: Junta Directiva

Responder
Avatar de Usuario
MorgoZ
Usuario Avanzado
Usuario Avanzado
Mensajes: 208
Registrado: Mar Sep 19, 2006 10:08 pm

ayuda con contador de 2 bytes

Mensaje por MorgoZ » Dom Nov 23, 2008 10:22 am

Hola de nuevo!!

Estoy intentando hacer un contador en AVR, y el tema es que cuento cantidades de 2 bytes.
Los 2 bytes los tengo almacenados en memoria, pero no se como recogerlos para ir decrementando el número y avanzar así el contador, ya que todos los registros son de 1 byte.

¿Se puede decrementar directamente un número de 2 bytes sobre memoria SRAM?

A ver si me podeis echar una mano.

Gracias!!



Avatar de Usuario
Urriellu
Iniciado
Iniciado
Mensajes: 61
Registrado: Sab Feb 10, 2007 6:45 pm
Nombre: A. Bulnes
Ubicación: Gijón
Contactar:

Re: ayuda con contador de 2 bytes

Mensaje por Urriellu » Dom Nov 23, 2008 1:13 pm

¿Qué lenguaje estás usando? Si usas uno de alto nivel (como C) se supone que debería incluir variables de varios tamaños.

Si lo estás haciendo en lenguaje ensamblador en una arquitectura en la que los registros son de 8 bits y no hay ninguna instrucción que trabaje sobre registros de más de 8 bits, entonces lo que puedes hacer es decrementar el byte de menor peso, después comprobar si se desbordó, y en el caso de que se haya desbordado entonces decrementas el byte de mayor peso.
Mis proyectos

Bastian
Usuario Avanzado
Usuario Avanzado
Mensajes: 384
Registrado: Mié Feb 13, 2008 9:29 pm
Nombre: David Carmona
Ubicación: Utiel
Contactar:

Re: ayuda con contador de 2 bytes

Mensaje por Bastian » Dom Nov 23, 2008 11:12 pm

Hola!

No conozco mucho de los AVR, pero creo recordar que tienen registros de 16 bits que permiten operaciones de incremento y decremento en ensamblador, en concreto los punteros de datos indirectos (registros X, Y y Z). Normalmente se utilizan para apuntar a datos en SRAM, es decir guardando una direccion de 16 bits, pero se pueden modificar con los registros XH y XL (byte alto y bajo del registro respectivamente).

En el antiguo 8051 solo habia uno o dos y podias incrementar y decrementarlo haciendo algo como

Código: Seleccionar todo

inc DPTR
dec DPTR
en los AVR se que puedes acceder a datos de la SRAM con instrucciones que incrementan o decrementan el puntero automáticamente, pero no recuerdo si soportan la instruccion inc o dec...

Salu2! :wink:
Existen 10 tipos de personas...
los que saben binario y los que no.

El conocimiento es un arma poderosa... Aprende!!!


Mi blog: Robotica Lúdica Pingubot

Avatar de Usuario
MorgoZ
Usuario Avanzado
Usuario Avanzado
Mensajes: 208
Registrado: Mar Sep 19, 2006 10:08 pm

Re: ayuda con contador de 2 bytes

Mensaje por MorgoZ » Jue Nov 27, 2008 5:16 pm

Muchas gracias a todos!!

Finalmente lo que haré es cargar directamente el contador en un registro de 16 bits (X,Y oZ) y decrementar o incrementar con las funciones ADIW o SBIW, ya que las de INC y DEC no valen para este tipo de registros.

Gracias y saludos!!

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado