MSP430 Symbolic and Absolute addressing modes

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.

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.

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?

hithesh123:
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.