__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)