Hi All, I'm not totally new to pics but before had been programming PIC18f series in C.. so I'm not that apt at figuring out assembly yet, especially bank select. Anyway, I'm unable to get any of my pins to output anything... I'm trying to eventually drive a 7 segment LED character display(common anode) and am able to manually do it by connecting the appropriate pins to ground... however can't get it to work with the PIC. I have 0 volts on every line of the pic(except VDD), and if I hook up any of them to the LED lines that are supposed to sink to the pic if set to 0, do nothing if set to 5, then the pic lines jump up to 5 volts. Anyway, I must be coding it wrong. It's short code so far as I've done little but to check if I'm getting the right voltages, which I'm not... ;********************************************************************** ; This file is a basic code template for object module code * ; generation on the PICmicro PIC16F684. This file contains the * ; basic code building blocks to build upon. As a project minimum * ; the 16F684.lkr file will also be required for this file to * ; correctly build. The .lkr files are located in the MPLAB * ; directory. * ; * ; If interrupts are not used all code presented between the * ; code section "INT_VECTOR and code section "MAIN" can be removed. * ; In addition the variable assignments for 'w_temp' and * ; 'status_temp' can be removed. * ; * ; If interrupts are used, as in this template file, the 16F684.lkr * ; file will need to be modified as follows: Remove the lines * ; CODEPAGE NAME=vectors START=0x0 END=0x4 PROTECTED * ; and * ; SECTION NAME=STARTUP ROM=vectors * ; and change the start address of the page0 section from 0x5 to 0x0 * ; * ; Refer to the MPASM User's Guide for additional information on * ; features of the assembler and linker (Document DS33014). * ; * ; Refer to the respective PICmicro data sheet for additional * ; information on the instruction set. * ; * list p=16F684 ; list directive to define processor #include ; processor specific variable definitions errorlevel -302 ; suppress message 302 from list file ; '__CONFIG' directive is used to embed configuration word within .asm file. ; The lables following the directive are located in the respective .inc file. ; See data sheet for additional information on configuration word settings. __CONFIG _CP_OFF & _CPD_OFF & _BOD_OFF & _MCLRE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _FCMEN_ON BANK1 MACRO BSF STATUS, RP0 ;MACRO TO SELECT BANK 1 ENDM BANK0 MACRO BCF STATUS, RP0 ;MACRO TO SELECT BANK 0 ENDM ;***** VARIABLE DEFINITIONS (examples) ; example of using Shared Uninitialized Data Section INT_VAR UDATA_SHR 0x71 w_temp RES 1 ; variable used for context saving status_temp RES 1 ; variable used for context saving ;********************************************************************** RESET_VECTOR CODE 0x000 ; processor reset vector goto main ; go to beginning of program INT_VECTOR CODE 0x004 ; interrupt vector location movwf w_temp ; save off current W register contents movf STATUS,w ; move status register into W register movwf status_temp ; save off contents of STATUS register ; isr code can go here or be located as a call subroutine elsewhere movf status_temp,W ; retrieve copy of STATUS register movwf STATUS ; restore pre-isr STATUS register contents swapf w_temp,F swapf w_temp,W ; restore pre-isr W register contents retfie ; return from interrupt main ; remaining code goes here banksel INTCON BCF INTCON, 7 banksel PORTA CLRF PORTA banksel CMCON0 MOVLW 07h MOVWF CMCON0 banksel ANSEL CLRF ANSEL banksel TRISA CLRF TRISA banksel IOCA CLRF IOCA banksel PORTA MOVLW b'01111111' MOVWF PORTA loop goto loop ; initialize eeprom locations EE CODE 0x2100 DE 0x00, 0x01, 0x02, 0x03 END ; directive 'end of program' -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist