guardar literal en array
Página 1 de 1.
guardar literal en array
Hola a todos, como puedo guardar una variable en un array???
me explico:
tengo este arreglo de variables
CBLOCK
numarray : 0x26
num7, num6, num5, num4, num3, num2, num1, num0
ENDC
estoy esperando 8 caracteres por tx serie, cuando me llegan tengo un contador "cont_caracteres" que va disminuyedo desde 8 hasta 0
y deseo que cada vez que entra un caracter, este se guarde en una de las variables del array, sería algo como:
movf numarray,w ;muevo la direccion del array a W
addwf cont_caracteres ;le adiciono la pos (numarray+8 o sea en num0) donde va a guardar
movwf temp ;guardo la dirección de num0 en la var temp
movf caracter,w ;muevo el caracter leido por RS232 a W
movwf temp ;y lo guardo en num0
se que eso no debe estar bien, solo necesito que alguien me ayude a descifrar como estaría correcto, espero haberme explicado bien.
saludos y gracias por su ayuda
yordan
me explico:
tengo este arreglo de variables
CBLOCK
numarray : 0x26
num7, num6, num5, num4, num3, num2, num1, num0
ENDC
estoy esperando 8 caracteres por tx serie, cuando me llegan tengo un contador "cont_caracteres" que va disminuyedo desde 8 hasta 0
y deseo que cada vez que entra un caracter, este se guarde en una de las variables del array, sería algo como:
movf numarray,w ;muevo la direccion del array a W
addwf cont_caracteres ;le adiciono la pos (numarray+8 o sea en num0) donde va a guardar
movwf temp ;guardo la dirección de num0 en la var temp
movf caracter,w ;muevo el caracter leido por RS232 a W
movwf temp ;y lo guardo en num0
se que eso no debe estar bien, solo necesito que alguien me ayude a descifrar como estaría correcto, espero haberme explicado bien.
saludos y gracias por su ayuda
yordan
yeestrada- Participante
- Mensajes : 10
Fecha de inscripción : 20/03/2011
mi solución
hola, de tanto tantear, logré una solución, quizas no sea un método muy elegante, pero me funciona, es un método parecido al de leer de una tabla, o sea me aproveche de la linea de código: addwf PCL,F
hice la siguiente rutina
guardar_caracter
movf cont_letras,W ;esto no es más que multiplicar por 3
addwf cont_letras,W
addwf cont_letras,W
movwf temporal ;esto lo hago como un ajuste fino, en
movlw .3 ;el caso de otra persona no se si lo
subwf temporal,W ;necesite
addwf PCL,F ;PCL= PCL + w
movf caracter,W ;muevo la letra a W
movwf num1 ;muevo la letra a la variable que le
goto salir ;corresponde
movf caracter,W ;se repite
movwf num2
goto salir
movf caracter,W
movwf num3
goto salir
movf caracter,W
movwf num4
goto salir
movf caracter,W
movwf num5
goto salir
movf caracter,W
movwf num6
goto salir
movf caracter,W
movwf num7
goto salir
movf caracter,W
movwf num8
salir
return
hice la siguiente rutina
guardar_caracter
movf cont_letras,W ;esto no es más que multiplicar por 3
addwf cont_letras,W
addwf cont_letras,W
movwf temporal ;esto lo hago como un ajuste fino, en
movlw .3 ;el caso de otra persona no se si lo
subwf temporal,W ;necesite
addwf PCL,F ;PCL= PCL + w
movf caracter,W ;muevo la letra a W
movwf num1 ;muevo la letra a la variable que le
goto salir ;corresponde
movf caracter,W ;se repite
movwf num2
goto salir
movf caracter,W
movwf num3
goto salir
movf caracter,W
movwf num4
goto salir
movf caracter,W
movwf num5
goto salir
movf caracter,W
movwf num6
goto salir
movf caracter,W
movwf num7
goto salir
movf caracter,W
movwf num8
salir
return
yeestrada- Participante
- Mensajes : 10
Fecha de inscripción : 20/03/2011
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|