Errores al compilar en MPLAB

Lo que significa eso es que estas poniendo la instruccion en la columna numero 1. Para que entiendas mejor que voy a poner una demostracion de como es la estructura de un programa:

Código:
Columna 1	Columna 2	Columna 3	Columna 4
Etiqueta	Instruccion	Operandos	Comentario
Etiqueta: Es una etiqueta descriptiva o referencia que se pone en distintas partes del programa para poder realizar saltos o llamados (goto y call) de forma mas intuitiva.

Ejemplo:

Código:
Columna 1	Columna 2	Columna 3	Columna 4
Principal	sleep		;entra en modo de bajo consumo
	goto	Principal	;despues de despertarse, salta a la primer
			;instruccion despues de la etiqueta "Principal"
Instruccion: Es la instruccion a ejecutar por el micro
Operandos: Son el/los operandos que se vinculan con la instruccion.

Ejemplo:

Código:
Columna 1	Columna 2	Columna 3	Columna 4
Principal	bsf	SATUTS,RP0	;Banco 1
	movlw	0xFF	;Carga W con 0xFF, b'11111111' ó .255
	movwf	TRISB	;Pone todos los pines del Puerto B como entrada
	bcf	STATUS,RP0	;Banco 0
Comentario: Se usa para ir describiendo el programa a medida que se escribe, y al momento de debuggear o que otra persona lo lea, se entienda que es lo que se hizo en el proceso de programacion.


Las etiquetas y comentarios no se graban en la memoria del pic, asi que no tengas miedo de llenar el programa de comentarios, pero tampoco te vayas de mambo y sea puro comentario para un programa boludo. Lo mismo con las etiquetas, al programar se reemplazan las etiquetas por la posicion en memoria, asi que los "goto Principal" se reemplazan por ejemplo por "goto 0x0005".

Bueno, espero que esto te sirva al momento de programar.

Saludos,
mano.

P.D.: El formateo de codigo no acomoda bien las columnas, pero creo que vas a entender bien ;)
 
Hola amigo!
Soy totalmente nuevo en este mundo de los PIC's y en la actualidad estoy tratando de aprender por medio de un entrenador y el MPLAB 8.10 en asm. Pues bien, en el entrenador tengo montado el pic16f64a. Al crear un programa por medio del MPLAB y mandarlo a compilar me da el siguiente problema:

Error[113] C:\USERS\.....................\DOCUMENTS\PROYECTO\1.ASM 19 : Symbol not previously defined (DELAY_500MS)
Error[105] C:\USERS\................\DOCUMENTS\PROYECTO\1.ASM 22 : Cannot open file (Include File "DELAYS.INC" not found)
Halting build on first failure as requested.

Por favor me podrías orientar para ver a que se debe este problema?
Gracias de ante manos!
 
Hola Miguel:

El primer error es por que estas intentando llamar a una subrutina que no esta, y esto se debe al segundo error, que es que el ensamblador no encuentra la librería DELAYS.INC, asegurate de colocar dicha librería en el lugar adecuado.

Saludos...
 
Muchas gracias amigo! No habia notado que hay que colocar en la carpeta donde se guarda el .asm un sub-programa que se llama dislay. Al incuir este automaticamente el MPLAB lo asocia. Nuevamente muchas gracias!
 
hola compas tengo problemas con mplab no me toma las intruccones rlf y rrf , y status no funciona .
alguien que me colabore con este problema , ya instale 2 verciones y nada , que pasa?

gracias por su colaboracion
 
andy1 dijo:
hola compas tengo problemas con mplab no me toma las intruccones rlf y rrf , y status no funciona .
alguien que me colabore con este problema , ya instale 2 verciones y nada , que pasa?

gracias por su colaboracion
Tal vez si nos dijeras cual es el error que marca MPLAB, postearas tu programa y nos dijeras que version de PIC y de MPLAB usas podriamos ayudarte.... magos no somos...
 
las versiones que he puesto son 8.10 y 6.
este progama tambien lo esta realizado con el pic 16f628 y sale el mismo error

Warning[207] D:\ANDRES T\TRABAJOS\DOMOTICA\ESTU\LED.ASM 29 : Found label after column 1. (RRF)
Error[122] D:\ANDRES T\TRABAJOS\DOMOTICA\ESTU\LED.ASM 29 : Illegal opcode (NUM3)

el status no produce errores pero no realiza las funciones cunado se maneja los bits de z ,c, dc

Código:
list p=16f877a
#include <p16f877a.inc>

CBLOCK 0X60
NUM1
NUM2
NUM3
ENDC

BSF STATUS ,RP0
BCF STATUS ,RP1
CLRF TRISB
BCF STATUS ,RP0

INICIO

	
	MOVLW B'1111100' 
	MOVWF NUM1
	SUBWF NUM2 
	BTFSS NUM2 ,0
	GOTO SUMA 
	GOTO INICIO

SUMA 

	MOVF NUM2 ,W
	MOVWF NUM3
	RRF NUM3
	END
END
 
Tu problema es muy simple.... en la ultima instruccion no estas poniendo el destino, tienes que poner RRF NUM3,W o RRF NUM3,F segun a donde quieras que se guarde el resultado....

Tambien veo que el programa va a fallar por que estas mandando al micro a Suma, pero nunca lo regresas al programa principal y se va a seguir de frente, tienes que poner un goto al final de Suma....
 
manuel360 dijo:
ok :LOL: ya encontre uno por puerto usb ahorita estoy realizando un proyecto de unos led que al girarlos despliega mensajes pero tenngo el codigo fuente, tengo mplab v 7.51 ahora mi problema es pasarlo a .hex me aparece una leyenda que dice que no encuentra el archivo y lo guarde con extension .asm . Gracias :D
Que programador conseguiste? podes usar alguno de microchip, o construir el eclip-se que publicaron aquí en el foro...

https://www.forosdeelectronica.com/about15166.html
 
Hola compa que pena la la intenidad, pero si el progama esta incompleto solo era un ejemplo para que se mire el error ya que las intrucciones rlf rrf quedan en rojo y no en azul como deben ser , ya le puse el destino y sale el error , como dije anterior mente el status tampoco realiza las funciones en los bits c, dc y z
gracias por sus colaboraciones
att: @ndres t

list p=16f877a
#include <p16f877a.inc>

CBLOCK 0X60
NUM1
NUM2
NUM3
ENDC

BSF STATUS ,RP0
BCF STATUS ,RP1
CLRF TRISB
BCF STATUS ,RP0

INICIO


MOVLW B'1111100'
MOVWF NUM1
SUBWF NUM2
BTFSS NUM2 ,0
GOTO SUMA
GOTO INICIO

SUMA

MOVF NUM2 ,W
MOVWF NUM3
RRF NUM3 ,W

END


Warning[207] D:\ANDRES T\TRABAJOS\DOMOTICA\ESTU\LED.ASM 29 : Found label after column 1. (RRF)
Error[122] D:\ANDRES T\TRABAJOS\DOMOTICA\ESTU\LED.ASM 29 : Illegal opcode (NUM3)
Halting build on first failure as requested.
 
gracias viejo ya configure pero otras cosas que estan en select device y si ya dio las intrucciones rlf y rrf .
pero tengo una duda donde esta la opcion de uc a usar?
en select device me sale el nombre del pic y otros puntos en color verde y rojo
 
Los primeros no son errores solo te esta avisando que estas trabajando en un banco que no es el Cero, el último es por la ruta donde esta tu archivo fuente y no debe excederse de 62 caracteres ya que el MPLAB no puede manejar rutas de más de ese límite, coloca el/o los archivos fuente en una ruta más cercana a la raíz de la unidad C:
 
giovarp dijo:
hola soy nuevo en el foro y tengo el siguiente problema estoy comensando en la programacion de los pic e instale el mplab para programar me pasa el siguiente problema cuando cargo el .asm y luego le ago el quickbuild para compilar y dejarlo en hex me tira error a pesar de que lo e compilado en otro pc y me compila sin problema lo e instalado mas de 5 veces pensando k es por k keda mal instalado si alguien me puede ayudar pliss ya noc que es

Hola amigo.

por lo que veo en tus programas te falta el include
ejemplo:

List p=16f84
include <p16f84.inc> 'esta linea te falta'
org 0x2007
dw 0x3ffa
org 0

-
-
-
-
-
-
end

tambien fijate en Configure / Select device y pon el pic que usas.
espero que te sirva.
Saludos.
 
Arriba