[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
re: [avr-gcc-list] rjmp confusion
From: |
Rune Christensen |
Subject: |
re: [avr-gcc-list] rjmp confusion |
Date: |
Wed, 11 Feb 2004 21:03:03 +0100 |
Hello
The rjmp use "modulus"/wrapping when calculating the new address in the
microcontroller.
So rjmp +1.0k at 3.5k will end up at (3.5k + 1.0k) mod 4k = 0.5k
Best regards
Rune Christensen
-----Original Message-----
From: address@hidden
[mailto:address@hidden Behalf Of Simon Han
Sent: Wednesday, February 11, 2004 8:20 PM
To: address@hidden
Subject: [avr-gcc-list] rjmp confusion
Hello,
Based on AVR instruction set documentation, rjmp is defined to be
"relative jump to an address within PC - 2K + 1 and PC + 2K (words)".
Then it says that "for AVR microcontrollers with Program memory not
exceeding 4K words this instruction can address the entire memory from
EVERY address location". I capitalize the word I am confused about.
How can a rjmp instruction located at flash memory 3.5K jump back to
flash memory location at 0.5K? This will require rjmp (-3K).
Does avr-gcc generate code at some middle point (say flash memory
location at 2K) to solve this problem?
Thank you for any help,
Simon
_______________________________________________
avr-gcc-list mailing list
address@hidden
http://www.avr1.org/mailman/listinfo/avr-gcc-list