While I was reading through the MSP430's User's guide, I came to know that its stack pointer is alligned to even address. (Read Pg.189 of http://www.ti.com/lit/ug/slau208m/slau208m.pdf)
Question 1: Why is it so ? Why is the stack pointer alligned to even address?
Using msp430-gcc, I wrote a C program which contained a global 'char'(8 bits) array and which will print on UART the address location of each array element. What I found was that each array element was at '+1' from the previous address i.e
Address of a[0] is 2400
Address of a[1] is 2401
Address of a[2] is 2402
Addres