SparkFun Forums 

Where electronics enthusiasts find answers.

Discussions on how to get your MSP JTAG programmer up and running.
By hithesh123
#96294
Hi guys, I am a newbie to the MSP430. I can't understand the absolute and symbolic addressing mode difference.
Can someone please explain (with examples). I already went thru the user guide. Both seem to do the same thing.
I am familiar with PIC and 8051.
By UhClem
#96391
Your confusion might be due to TI using the term "symbolic" when most people say "program counter relative".

The examples in the TI manual really explain the details much better than I ever could. But here is the short version.

In absolute mode the source/destination address is encoded as is right after the opcode. If the target is at address 0x1000, that is the value.

In symbolic mode the source/destination address is encoded as an offset from the program counter. In order to get the actual target address you have to add the encoded value to the program counter. The examples illustrate this and do the math.

This mode is handy if you need to write position independent code.
By hithesh123
#96408

David, thanks for the short and simple explanation. When they say symbolic, it does confuse me.
So, when using absolute address, there is no need to use the '&' before the address?
By UhClem
#96475
hithesh123 wrote:David, thanks for the short and simple explanation. When they say symbolic, it does confuse me.
So, when using absolute address, there is no need to use the '&' before the address?
That is entirely dependent on the assembler syntax so you will have to consult the documentation for your assembler.