list p=16f72 #include radix dec ; Compiled with: PIC Simulator IDE v6.91 ; Microcontroller model: PIC16F72 ; Clock frequency: 4.0 MHz ; ; The address of 'a' (byte) (global) is 0x2C a EQU 0x2C ; Begin R0L EQU 0x20 R0H EQU 0x21 R1L EQU 0x22 R1H EQU 0x23 R2L EQU 0x24 R2H EQU 0x25 R3L EQU 0x26 R3H EQU 0x27 R4L EQU 0x28 R4H EQU 0x29 R5L EQU 0x2A R5H EQU 0x2B ORG 0x0000 BCF PCLATH,3 BCF PCLATH,4 GOTO L0002 ORG 0x0004 RETFIE ; Begin of program L0002: ; 1: ; 2: AllDigital MOVLW 0x06 BSF STATUS,RP0 MOVWF 0x1F BCF STATUS,RP0 ; 3: ; 4: Dim a As Byte ; 5: ; 6: TRISA = 0xff MOVLW 0xFF BSF STATUS,RP0 MOVWF 0x05 ; 7: TRISB = 0x00 CLRF 0x06 BCF STATUS,RP0 ; 8: ; 9: loop: L0001: ; 10: ; 11: If PORTA.0 = 1 Then BTFSS 0x05,0 GOTO L0003 ; 12: PORTB.0 = 1 BSF 0x06,0 ; 13: Else GOTO L0004 L0003: ; 14: PORTB.0 = 0 BCF 0x06,0 ; 15: Endif L0004: ; 16: ; 17: If PORTA.1 = 1 Then BTFSS 0x05,1 GOTO L0005 ; 18: PORTB.1 = 1 BSF 0x06,1 ; 19: Else GOTO L0006 L0005: ; 20: PORTB.1 = 0 BCF 0x06,1 ; 21: Endif L0006: ; 22: ; 23: If PORTA.2 = 1 Then BTFSS 0x05,2 GOTO L0007 ; 24: PORTB.2 = 1 BSF 0x06,2 ; 25: Else GOTO L0008 L0007: ; 26: PORTB.2 = 0 BCF 0x06,2 ; 27: Endif L0008: ; 28: ; 29: Goto loop GOTO L0001 ; 30: ; 31: ; 32: ; 33: End L0009: GOTO L0009 ; End of program L0010: GOTO L0010 ; End of listing END