fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Instrucciones del 1...
 
Avisos
Vaciar todo

Instrucciones del 16F690 en ensamblador

7 Respuestas
5 Usuarios
0 Reactions
7,051 Visitas
reyes
Respuestas: 2
Topic starter
(@reyes)
New Member
Registrado: hace 17 años

😳 soy nuevo en este foro y me gustaria saber dos cosas, ¿las instrucciones de ensamblador son las mismas para todos los PIC? y ... he investigado sobre como comparar dos registros y encontre la instruccion CMP para comparar los registros o variables NUM1 y NUM2, pero cuando pongo la instruccion

CMP NUM1,NUM2

no ensambla el programa de microchip que tengo, reporta un error que dice illegal opcode

¿que instruccion debo utilizar para comparar estos dos registros para el 16F690?

GRACIAS!!!

Responder
6 respuestas
luison
Respuestas: 495
(@luison)
Reputable Member
Registrado: hace 17 años

Google--> 16F690 --> 7200 páginas encontradas, y las primeras son sus respectivos datasheet (manual). El primero es el manual completo de 258 páginas. En la 196 están las instrucciones. Google no muerde 😉

Responder
reyes
Respuestas: 2
Topic starter
(@reyes)
New Member
Registrado: hace 17 años

este foro si que sirve.. gracias.. .. .. .. .. .. ya lo habia buscado en google pero no lo habia encontrado.. pero gracias

Responder
Lorth
Respuestas: 188
(@lorth)
Estimable Member
Registrado: hace 17 años

No existe esa instruccion.

La instruccion es: BTFSC

Segun el Datasheet:
Syntax: [ label ] BTFSC f,b
Operands: 0 ≤ f ≤ 127
0 ≤ b ≤ 7
Operation: skip if (f<b>) = 0
Status Affected: None
Description: If bit ‘b’ in register ‘f’ is ‘1’, the next
instruction is executed.
If bit ‘b’ in register ‘f’ is ‘0’, the next
instruction is discarded, and a NOP
is executed instead, making this a
two-cycle instruction.

Se me ocurre, sin pensarlo mucho, que podrias restar los dos numeros, y si es 0, es que son iguales. y usas la funcion de arriba para saltar o no a otra parte del codigo.

Acostumbrate a usar los Datasheets, porque es muy basico, para saberlo todo... no te aprendas los comandos de memoria.

Responder
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 19 años

REYES, los juegos de instrucciones en los PICs va por familias, la 16F tiene 35 instrucciones y esa no existe, generalmente para comparar lo que se hace es restar los registros:

MOVF num1 ; mueve la variable num1 al acumulador
SUBWF num2 ; resta el acumulador a la variable num2
BTFSC Z ; compara el zero (iguales)
GOTO num1_igual_num2

BTFSC C ; compara el carry (desboramiento)
GOTO num1_mayor_num2

GOTO num1_menor_num2

No he comprobado si esta correcto, así que puede ser que los GOTOs del Carry estén intercambiados, pero por lo demás se hace así.

S2

Ranganok Schahzaman

Responder
Página 1 / 2
Compartir: