Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/09/2008 #1


Error en programa 16f84a
buenas a todos,tengo un problema que no se corregir ,es una programacion mediante macros,
LD E,0 ;Lee la entrada E0
OUT S,0 ;Resultado en la salida S0



cblock 0x0C ;Inicio de los registros internos
E ;Registro reflejo de las entradas
S ;Registro reflejo de las salidas

endc


ENTOS\PIC\MACRO.ASM 76 : Illegal opcode (E)

ENTOS\PIC\MACRO.ASM 80 : Illegal opcode (S)
03/09/2008 #2


descargate la assembler guide , ahi te dice como utilizar macros
04/09/2008 #3


hola mabauti,gracias por ayudarme pero a mi no me da el error en la macro en si,donde tengo el error es en los registros y eso es lo que que yo nose porque ya que que los puse dentro de la ram,pero me dice codigo ilegal,saludos.
04/09/2008 #4


postea el programa, asi sera mas facil auxiliarte
27/09/2008 #5


__config _CP_OFF&_WDT_ON&_PWRTE_ON&_XT_OSC

;Leer las entradas E0-E4 y reflejar su estado sobre las salidas S0-S4


LD E,0 ;Lee E0
OUT S,0 ;Actúa sobre S0
LD E,1 ;Lee E1
OUT S,1 ;Actúa sobre S1
LD E,2 ;Lee E2
OUT S,2 ;Actúa sobre S2
LD E,3 ;Lee E3
OUT S,3


cblock 0x0c ;Inicio de los registros internos del PLC
E ;Registro reflejo de las entradas
S ;Registro reflejo de las salidas
endc ;

;OUT: Copia la condición previa (contenido de W) sobre el bit de salida DATA2 del registro DATA1

OUT MACRO DATA1,DATA2
movwf RW ;Salva la condición previa
btfss RW,0 ;Es "1" ?
bcf DATA1,DATA2 ;No, pone a "0" el bit de salida
btfsc RW,0 ;Es "0" ?
bsf DATA1,DATA2 ;No, pone a "1" el bit de salida
ENDM
;LD: Salva en la pila el último resultado y carga en W el estado del bit DATA2 del registro DATA1

LD MACRO DATA1,DATA2
call PUSH ;Salva el último valor en la pila
clrw ;W=0
btfsc DATA1,DATA2 ;El bit DATA2 del registro DATA1 = 0 ?
movlw .1 ;No, W=1
ENDM
Deleting intermediary files... done.
Executing: "C:\Archivos de programa\MPLAB IDE\MCHIP_Tools\mpasmwin.exe" /q /p16F84A "titi.asm" /l"titi.lst" /e"titi.err"
Error[122] C:\DOCUMENTS AND SETTINGS\PC\MIS DOCUMENTOS\PIC\TITI.ASM 13 : Illegal opcode (E)
Error[122] C:\DOCUMENTS AND SETTINGS\PC\MIS DOCUMENTOS\PIC\TITI.ASM 14 : Illegal opcode (S)
Error[122] C:\DOCUMENTS AND SETTINGS\PC\MIS DOCUMENTOS\PIC\TITI.ASM 15 : Illegal opcode (E)
Error[122] C:\DOCUMENTS AND SETTINGS\PC\MIS DOCUMENTOS\PIC\TITI.ASM 16 : Illegal opcode (S)
Error[122] C:\DOCUMENTS AND SETTINGS\PC\MIS DOCUMENTOS\PIC\TITI.ASM 17 : Illegal opcode (E)
Error[122] C:\DOCUMENTS AND SETTINGS\PC\MIS DOCUMENTOS\PIC\TITI.ASM 18 : Illegal opcode (S)
Error[122] C:\DOCUMENTS AND SETTINGS\PC\MIS DOCUMENTOS\PIC\TITI.ASM 19 : Illegal opcode (E)
Error[122] C:\DOCUMENTS AND SETTINGS\PC\MIS DOCUMENTOS\PIC\TITI.ASM 20 : Illegal opcode (S)
Error[122] C:\DOCUMENTS AND SETTINGS\PC\MIS DOCUMENTOS\PIC\TITI.ASM 21 : Illegal opcode (E)
Error[122] C:\DOCUMENTS AND SETTINGS\PC\MIS DOCUMENTOS\PIC\TITI.ASM 22 : Illegal opcode (S)
27/09/2008 #6

Avatar de Eduardo

Estas llamando los macros antes de haberlos definido.
28/09/2008 #7


gracias por tu respuesta eduardo ,voy a probar a ver ,saludos
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.