How to correctly use a address in assembler?
You have the right idea, at least for the GNU assembler. The = for the second operand of the LDR instruction indicates that this is actually a pseudoinstruction...the assembler will store the value of the second operand in program memory just after the function (i.e. in the literal pool). The actual LDR instruction will then use PC-relative addressing to access the literal value.

The TI assembler does not use the = in the literal operand. Also, the constant must be explicitly saved in program memory using the .word directive.