;**************************************************************** ; Nombre: * ; macros.inc * ; Descripcion: * ; Estas son unas pequeñas macros, para ayudarnos * ; ha optimizar nuestro código basandonos en instrucciones * ; parecidas a las que se trabajaban en uPo 80x86 * ;**************************************************************** ;************************************************************** ; mov regitro,constante ; Mueve constante al registro mov macro registro,constante movlw constante movwf registro endm ;************************************************************** ; movr registro,registro ; copia el contenido de registro2 en registro 1 ; en 80x86 se usaba tambien mov movr macro registro1,registro2 movf registro2,0 movwf registro1 endm ;************************************************* ;jmp Salta a Direccion jmp MACRO Direccion goto Direccion endm ;************************************************* ;Saltar si es 0 jz MACRO Direccion btfsc STATUS,Z goto Direccion endm ;************************************************* ;Saltar si no es 0 jnz MACRO Direccion btfss STATUS,Z goto Direccion endm ;************************************************* ;Saltar si acarreo es 1 jc MACRO Direccion btfsc STATUS,C goto Direccion endm ;************************************************* ;Saltar si acarreo es 0 jnc MACRO Direccion btfss STATUS,C goto Direccion endm ;************************************************* ;compara: Nos permite comparar una constante con ; un registro compara macro reg1, constante movlw constante xorwf reg1,W endm