Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
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?
¿que compilador usas?
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.
bueno si, al compilar el ensamblador, o ensamblar o como se llame, al hacer quickbuild
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.