ASM - Problem at first step!


Closed Thread
Results 1 to 14 of 14

Hybrid View

  1. #1
    Join Date
    Nov 2009
    Location
    London
    Posts
    251

    Default ASM - Problem at first step!

    Hi, I am having problem in compiling the following code:
    Code:
    	LIST P=16F676
    	__CONFIG H'2007', B'11000000000100'
    
    
    	ORG	0
    	GOTO	5
    	ORG	4
    	GOTO	5
    	ORG	5
    
    	END
    The config line is causing the error. The error is the following:
    Error[108] C:\D_DRIVE\ASM_LEARNING\16F676\676_ASM.ASM 2 : Illegal character (,)
    Halting build on first failure as requested.
    ----------------------------------------------------------------------
    Debug build of project `C:\D_DRIVE\ASM_Learning\16F676\676_ASM.mcp' failed.
    Preprocessor symbol `__DEBUG' is defined.
    Sat Jul 23 19:48:06 2011
    ----------------------------------------------------------------------
    BUILD FAILED
    I am using MPLAB IDE V8.15. I am trying to learn ASM and this is my first shot at it.
    Thanks

  2. #2
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default Re: ASM - Problem at first step!

    There are .asm template files in your MPASM directory that show basic templates for beginners.

    Look in C:\Program Files\Microchip\MPASM Suite\Template\Code

    For a template for the 16F676.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  3. #3
    Join Date
    Nov 2009
    Location
    London
    Posts
    251


    Did you find this post helpful? Yes | No

    Default Re: ASM - Problem at first step!

    Thanks Bruce
    Really useful information.

  4. #4
    Join Date
    Nov 2009
    Location
    London
    Posts
    251


    Did you find this post helpful? Yes | No

    Default Re: ASM - Problem at first step!

    I am able to compile it now but it is not working. I am using Proteus 7.9 software to simulate it but
    Is something wrong with the code?
    Code:
    	LIST P=16F676
    	#include <p16F676.inc>
    	__CONFIG   _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
    
    	ORG	0
    	GOTO	5
    	ORG	4
    	GOTO	5
    	ORG	5
    
    	CLRF	H'07'
    	BSF	H'03',5
    	CLRF	H'07'
    	CLRF	H'91'
    	BCF	H'03',5
    
    	BSF	H'07',4
    	BSF	H'07',5
    	BSF	H'07',2
    	BSF	H'07',3
    
    	END

  5. #5
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default Re: ASM - Problem at first step!

    couple of mistakes in there... no problem it's your first I guess

    You haven't cleared the TRISC register
    no real need for multiple ORG and GOTO at the begining
    If you want to use GOTOs, you want to use/define some label and jump to them.
    It's really more readable to use register name instead of their addresses.
    Make suire you're always in the good BANK when writing/writing to a registers. Datasheet show everything 'bout that
    Maybe not a bad idea to retrieve the oscillator calibration at the begining.

    Like Bruce said, check out your MPASM\Template\CODE folder.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  6. #6
    Join Date
    Nov 2009
    Location
    London
    Posts
    251


    Did you find this post helpful? Yes | No

    Default Re: ASM - Problem at first step!

    Quote Originally Posted by mister_e View Post
    couple of mistakes in there... no problem it's your first I guess

    You haven't cleared the TRISC register
    no real need for multiple ORG and GOTO at the begining
    If you want to use GOTOs, you want to use/define some label and jump to them.
    It's really more readable to use register name instead of their addresses.
    Make suire you're always in the good BANK when writing/writing to a registers. Datasheet show everything 'bout that
    Maybe not a bad idea to retrieve the oscillator calibration at the begining.

    Like Bruce said, check out your MPASM\Template\CODE folder.
    Thanks. I was under the impression that the below statements clear the TRISC register.

    Code:
    	CLRF	H'07' ; clear portC
    	BSF	H'03',5  ; Jump to bank 1
    	CLRF	H'07'  ; Clear Trisc
    	CLRF	H'91' ; Clear ANSEL register
    	BCF	H'03',5  ; Jump to Bank 0

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts