This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Declaring Variables in cortex m3 Assembly Language

I declare 32 bit variables in the MyAsmVar section.

I know the base address of MyAsmVar. Also I know the address of var1 and var2.

AREA MyAsmVar, DATA,NOINIT, READWRITE, ALIGN=3

var1 DCD 0x00
var2 DCD 0x00

LDR R0,=0x20000000 ; base address of MyAsmVar
LDR R1,[R0,#0] ; read var1 in to R1 (var1 address is 0)
LDR R2,[R0,#4] ; read var2 in to R2 (var2 address is 4)

We must know the numeric value of variable address and this is not good.

How can I use the variables names instead of address?

I want the following lines but compiler give error messages;

LDR R0,=0x20000000
LDR R1,[R0,#var1] ; read var1 in to R1
LDR R2,[R0,#var2] ; read var1 in to R2

Also i try following lines but compiler dont compile.

LDR R1,[R0,#&var1] ; read var1 in to R1
LDR R2,[R0,#&var2] ; read var1 in to R2

if I use

var1 equ 0
var2 equ 4

problem solving, but i dont want to count address of variables.

Parents
  • "Can you give me a useful example which works?"

    I have already given you a very workable solution - My original example that didn't compile.

    Simply look at where the error is reported during assembly, see what is wrong and see if you can fix it. It is not difficult. I still can't see why you didn't do this in the first place instead of trying to find rediculous reasons and even more rediculous solutions.

    There are already too many clues in this message, so if you can't figure it out now I suggest you seriously consider Andy's advice.

Reply
  • "Can you give me a useful example which works?"

    I have already given you a very workable solution - My original example that didn't compile.

    Simply look at where the error is reported during assembly, see what is wrong and see if you can fix it. It is not difficult. I still can't see why you didn't do this in the first place instead of trying to find rediculous reasons and even more rediculous solutions.

    There are already too many clues in this message, so if you can't figure it out now I suggest you seriously consider Andy's advice.

Children
No data