[Resuelto]Ayuda XORLW
2 participantes
Página 1 de 1.
[Resuelto]Ayuda XORLW
Saludos,
Tengo una pregunta del siguiente codigo:
Tengo una pregunta del siguiente codigo:
- Código:
movlw .1
movwf K; K es una variable previamente declarada
BUCLEFOR:
;Instrucciones
incf K, F; incrementa k en 1
movf K, W; pasa lo que esta en K para W
xorlw .10: aqui noentido lo que hace segunse hace la orepacion logica xor cn W y .10
btfss STATUS,Z; tampoco entiendo
goto BUCLEFOR
Iader Camilo- Nuevo Usuario
- Mensajes : 7
Fecha de inscripción : 02/09/2013
Edad : 33
Localización : Colombia
Re: [Resuelto]Ayuda XORLW
Bueno, para intentar dejarlo claro, K seria tu variable de control....como bien has dicho el ciclo estara mientras K toma los valores de 1,2,3...10. ahora btfss significa Bit Test File Skip Set pero en ya en cristiano nos dice que cuando el bit que este evaluando sea igual a 1 va a brincar la instrucción que tenga debajo pero si el bit que evalúa es cero simplemente seguirá ejecutando la siguiente linea de código que en este caso es un salto a la etiqueta "BUCLEFOR" y la operación xor es para evaluar la condición ....si haces xor entre dos num. binarios cualquiera diferentes el resultado sera diferente de cero por lo que el bit Z del registro status sera 0, pero si tu haces el una operacion xor con dos números iguales el resultado sera cero y esto cambiara el valor del bit Z del registro status. es como si fuera una condicion "si"...te recomiendo este enlace para que veas el funcionamiento o en la hoja de datos de los micros creo que también venia la explicación de cada comando risc. comandos ensamblador.
espero te resuelva la duda, saludos.
espero te resuelva la duda, saludos.
WaRaW- Participante
- Mensajes : 27
Fecha de inscripción : 18/04/2010
Re: [Resuelto]Ayuda XORLW
Ok, Gracias ya entendi ... el enlace que me recomendastes ya lo habia visto .. y con la explecacion que me distes entendi lo que el code hace.WaRaW escribió:Bueno, para intentar dejarlo claro, K seria tu variable de control....como bien has dicho el ciclo estara mientras K toma los valores de 1,2,3...10. ahora btfss significa Bit Test File Skip Set pero en ya en cristiano nos dice que cuando el bit que este evaluando sea igual a 1 va a brincar la instrucción que tenga debajo pero si el bit que evalúa es cero simplemente seguirá ejecutando la siguiente linea de código que en este caso es un salto a la etiqueta "BUCLEFOR" y la operación xor es para evaluar la condición ....si haces xor entre dos num. binarios cualquiera diferentes el resultado sera diferente de cero por lo que el bit Z del registro status sera 0, pero si tu haces el una operacion xor con dos números iguales el resultado sera cero y esto cambiara el valor del bit Z del registro status. es como si fuera una condicion "si"...te recomiendo este enlace para que veas el funcionamiento o en la hoja de datos de los micros creo que también venia la explicación de cada comando risc. comandos ensamblador.
espero te resuelva la duda, saludos.
Lo que no entendia era como el usaba estas 2 xorlw y btfss instrucciones para controlar el for(pero si sabia ya lo que cada instruccion hace ), luego cuando me digistes lo del registro 0 de status siempre seria 0 lo entendi escribo como lo interprete por si no es haci porfa corrijanme(metoco hacer la operacion en binario jejeje):
Cuando el hace "incf" incrementa a K en 1 mas tarde guarda a K en W(movf), entonces compara el numero 10 en binario
00001010 con el valor de K que es igual a W al cerdiferente su resultado siempre dejara el registro Z en 0, pero cuando este llega a evaluar el literal 10 con el valor de K como 10 ya son iguales por locual todos los bit quedan en 0 y pone a 1 el registro Z terminando haci el for(btfss).
Gracias de nuevo, saludos.
Una ultima pregunta los temas del foro los cierra algun "Admin" o hay que avisar para que lo cierren??.
Iader Camilo- Nuevo Usuario
- Mensajes : 7
Fecha de inscripción : 02/09/2013
Edad : 33
Localización : Colombia
Re: [Resuelto]Ayuda XORLW
mmmm....que bueno que el tema te quedo claro....ejejje...con respecto a si el tema lo cierra un admin. la verdad no estoy seguro, no sabría jejejeje..... habría que revisar las reglas del foro a ver si hay un apartado para esa parte...
Saludos.
Saludos.
WaRaW- Participante
- Mensajes : 27
Fecha de inscripción : 18/04/2010
Temas similares
» [Resuelto]Ayuda con programacion de Osc int, y wdt en PK2cmd
» [Resuelto]Led y Pulsador reveldes.
» [Resuelto]Programador PICKIT2
» [Resuelto]Problema con SDCC y PIKLAB
» [Resuelto]Problemas al compilar sdcc
» [Resuelto]Led y Pulsador reveldes.
» [Resuelto]Programador PICKIT2
» [Resuelto]Problema con SDCC y PIKLAB
» [Resuelto]Problemas al compilar sdcc
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.