GOTO absolut address - is that possible?


Closed Thread
Results 1 to 14 of 14
  1. #1

    Default GOTO absolut address - is that possible?

    Hi!

    I have been looking around for some info how to jump to an absolute address (not label) but without success. So, I have not found that info...

    I have a need to jump to the absolute address 0F4C.

    Knowing that the banks are one byte wide and for example a bra instruction needs to calculate the address to the final location, jumping over the bank borders.

    How do one calculate a long jump address?
    Or how can on do that with the assembler?

    If you know how to do it, please advice...

  2. #2
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    Code:
    @ GOTO 0x0F4C
    DT

  3. #3
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    4,115


    Did you find this post helpful? Yes | No

    Default

    Isn't necessary to change pages? As this is in assembly, PBP does not take care of this, I suppose.

    Ioannis

  4. #4
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    From another thread I saw he's using an 18F4550 with a USB bootloader.

    So nope. No Pages to worry about.
    <br>
    DT

  5. #5
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,648


    Did you find this post helpful? Yes | No

    Question

    Hi, Darrel

    While on that subject ...

    I use, on a 16F88 :

    Code:
    ' If program lost
    
    @ ORG 4094			' Pointer to the end of program
    @ CLRF PCLATH			' pointer in the right page ( lol )
    @ GOTO INIT 			' It's gone for another round...
    '
    @ END
    Works and compiles fine ... BUT

    No way to use Breakpoints in MPSIM when lines not commented ...

    Do you have any idea about that ??? ( µChip tells ... go and see Melabs !!! - as always ... )

    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  6. #6


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Darrel Taylor View Post
    Code:
    @ GOTO 0x0F4C
    Thank you Darrel!

    As not being so familiar with the assembler I did not see/realize that there is also GOTO and not just BRA. Now I know that BRA is for short jumps only and GOTO can jump anywhere.

    Can you find a "good" 4550 tutorial (not datasheet) somewhere on the web?

    Tanks again...

  7. #7
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    Don't know of any 4550 tutorials.

    The PIC18C Reference Manual has a little more info regarding the instruction set. But not enough more to be of much help.
    http://ww1.microchip.com/downloads/e...Doc/39500a.pdf

    Really, the datasheet has the best info available.
    Once you get used to reading them, it gets easier.

    Alain,

    I haven't used mpsim for awhile, and there's been a few MPLAB upgrades in the mean time. I was going to try your problem, but now PBP isn't even an option in my MPLAB anymore.

    I'll have to reinstall the dll again. Been too long, I forget how.
    <br>
    DT

  8. #8
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Acetronics View Post
    Hi, Darrel

    While on that subject ...

    I use, on a 16F88 :

    Code:
    ' If program lost
    
    @ ORG 4094			' Pointer to the end of program
    @ CLRF PCLATH			' pointer in the right page ( lol )
    @ GOTO INIT 			' It's gone for another round...
    '
    @ END
    Works and compiles fine ... BUT

    No way to use Breakpoints in MPSIM when lines not commented ...

    Do you have any idea about that ??? ( µChip tells ... go and see Melabs !!! - as always ... )

    Alain
    Hi Alain, Just curious . . . ASM comment is ; not ' yes?
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  9. #9
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Thumbs up

    Quote Originally Posted by Joe S. View Post
    Hi Alain, Just curious . . . ASM comment is ; not ' yes?
    Way to go Joe!
    I didn't even see that.

    Can't imagine how it compiled.
    <br>
    DT

  10. #10
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default

    Thanks Darrel 30 years of snivel service teaches you to pick fly specks out of the pepper ELSE Nazi bosses frag your reputation.
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  11. #11
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,648


    Did you find this post helpful? Yes | No

    Wink

    Quote Originally Posted by Joe S. View Post
    Hi Alain, Just curious . . . ASM comment is ; not ' yes?
    Hi, joe

    YES ... looks right, but compiles and runs fine.

    After all, It's a PBP program ... intelligent compiler ? lol : might be.

    In fact, MPLAB accept both " ; " and " ' " ... as MPLAB Editor is set to "Basic" mode. Why not use what computers offer for ease of work ( Humour ...)

    Changing " ' " to " ; " do not change anything ...

    You're quite right : Manual says " line is sent verbatim" ... but, obviously, comments are not sent !!!


    Alain
    Last edited by Acetronics2; - 10th November 2008 at 08:14.
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  12. #12
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Acetronics View Post
    Hi, joe

    YES ... looks right, but compiles and runs fine.

    After all, It's a PBP program ... intelligent compiler ? lol : might be.

    In fact, MPLAB accept both " ; " and " ' " ... as MPLAB Editor is set to "Basic" mode. Why not use what computers offer for ease of work ( Humour ...)

    Changing " ' " to " ; " do not change anything ...

    You're quite right : Manual says " line is sent verbatim" ... but, obviously, comments are not sent !!!


    Alain
    Ask questions and learn, Right? <br>PBP & Assembler, like mixing 10 oz alcohol and 10 oz water, you do not get 20 oz of liquid.
    I read books AND this forum, sometimes experience and books do not agree. Anyway I try to help and am not embarrassed to learn from the masters.
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  13. #13
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,648


    Did you find this post helpful? Yes | No

    Wink

    Hi,

    Here is the Melabs answer :


    Below is the response that I received from MicroEngineering Labs regarding your issue:

    I've found that the problem only occurs when the assembly-language jump to our INIT routine is included:

    @ GOTO INIT

    I'm guessing that since the INIT label isn't a label in the program source code (it is an internal label PBP creates), it is not something that can be resolved for source-level debugging.

    User code should not jump to our INIT routine. If he wants to restart his program, he should declare a label in the source and use it instead.

    Charles Leo
    microEngineering Labs, Inc.
    ... now just have to find WHERE to place this "dummy" label ...

    ring you asap.

    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  14. #14
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,648


    Did you find this post helpful? Yes | No

    Wink Happy End

    Ok, it's solved

    Code:
    'Defines
    
    DEFINE OSC 4
    
    
    '*****************************************************************************
    '*****************************************************************************
    'Config
    
    'Program Configuration Register 1
    @		__CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_ON & _XT_OSC
    
    'Program Configuration Register 2
    @		__CONFIG    _CONFIG2, _IESO_OFF & _FCMEN_OFF
    
    
    '*****************************************************************************
    Restart:
    
    INTCON 		= %01000000			' RB0 interrupt
    OPTION_REG  = %11000111			' TMR0 pour sous régime PS = 256 ( Rpm = 460 )
    T1CON		= %01010000			' %01000000
    CCP1CON		= %00000101
    PIE1		= %00000100
    
    CMCON 		= 7
    CVRCON 		= 0
    
    ANSEL		= 0
    ADCON0 		= 0
    
    ....
    
    '*****************************************************************************
    '*****************************************************************************
    ' If Program counter lost
    
    @ ORG 4094			' Goto the very last lines ( µP is a 16F88 )
    @ CLRF PCLATH			' right page for 12/16F( lol )
    @ GOTO _Restart 		             ' Go on again !!! ...
    '
    @ END
    Look at the "Restart" Label ... it must be placed before the very first PBP command : here, an " INTCON = " statement.

    The ASM " Init " ( no underscore !!! ) label is automatically placed here by PBP in the .asm generated.

    This way, all the registers are re-set to the convenient values ...
    Last edited by Acetronics2; - 11th November 2008 at 10:40.
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

Similar Threads

  1. Making a menu
    By chrisshortys in forum mel PIC BASIC Pro
    Replies: 36
    Last Post: - 12th November 2008, 19:54
  2. Replies: 14
    Last Post: - 26th September 2007, 05:41
  3. Problems with RC2 and RC3
    By Christopher4187 in forum General
    Replies: 11
    Last Post: - 29th May 2006, 17:19
  4. RF Transmitter
    By et_Fong in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 27th October 2005, 16:34
  5. Output PIC module
    By freelancebee in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 12th September 2005, 20:10

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