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.
You ask to me "What problem do you think you have? speed? code size? complexity?"
Speed and Code Size importand for me. Complexity no problem.