fbpx

Expresate

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

Avisos
Vaciar todo

Problema definiendo variables

6 Respuestas
3 Usuarios
0 Reactions
1,647 Visitas
superprp
Respuestas: 203
Topic starter
(@superprp)
Estimable Member
Registrado: hace 18 años

Buenas,

Estoy trabajando con un PIC16F876, y defino las variables así:

memoria set 0x20
cblock memoria
;aki pongo las variables
endc
memoria set 0xA0
cblock memoria2
;aki pongo mas variables
endc

pero al poner más de 8 variables en memoria y memoria2, al compilar me dice esto:

Missing argument(s)

¿a que puede ser debido? ¿como puedo solucionarlo?

Responder
5 respuestas
boops
Respuestas: 1813
(@boops)
Ardero
Registrado: hace 19 años

¿que compilador usas?

Responder
_jm_
Respuestas: 961
 JM
(@_jm_)
Prominent Member
Registrado: hace 20 años

compilador? eso no es ensamblador?

La instrucción que no conozco es la de memoria set

prueba a poner directamente

cblock 0x20
...
endc

cblock 0xa0
..
endc

En principio las direcciones están bien, a paritr de la 0x20 tienes 96 bytes en el banco cero, y en la 0xa0 80 bytes en el 1.

Si esa instrucción está dentro de uan subrutina no fijes la dirección de la ram, ésta se toma a partir de la última fijada.

Responder
superprp
Respuestas: 203
Topic starter
(@superprp)
Estimable Member
Registrado: hace 18 años

bueno si, al compilar el ensamblador, o ensamblar o como se llame, al hacer quickbuild

Responder
_jm_
Respuestas: 961
 JM
(@_jm_)
Prominent Member
Registrado: hace 20 años

Yo creo que compilar es pasar de un lenguaje de alto nivel como c a unos y ceros para el micro, usando un compilador.

Y ensamblar es pasar las instrucciones del pic a unos y ceros, usando el ensamblador.

Por lo que ver código para ensamblador y preguntar que compilador se usa no tiene ningún sentido.

Corregidme si me equivoco que no soy informático.

memoria set 0x20
cblock memoria
;aki pongo las variables
endc

memoria set 0xA0
cblock memoria2
;aki pongo mas variables
endc

Ahí tienes memoria repetida, debería ser memoria2 set 0xa0, prueba a ponerlo directamente en el cblock la dirección a ver si te da el mismo error.

Responder
Página 1 / 2
Compartir: