Variables

The value of a variable can be changed as assembly proceeds. Variables are local to the assembler. This means that in the generated code or data, every instance of the variable has a fixed value.

Variables are of three types:

The type of a variable cannot be changed.

The range of possible values of a numeric variable is the same as the range of possible values of a numeric constant or numeric expression.

The possible values of a logical variable are {TRUE} or {FALSE}.

The range of possible values of a string variable is the same as the range of values of a string expression.

Use the GBLA, GBLL, GBLS, LCLA, LCLL, and LCLS directives to declare symbols representing variables, and assign values to them using the SETA, SETL, and SETS directives.

Show/hideExample

     a   SETA 100;
L1   MOV R1, #(a*5); In the object file, this is MOV R1, #500
     a   SETA 200;   Value of ‘a’ is 200 only after this point. 
                 ;   The previous instruction will always be MOV R1, #500
     …
     BNE L1;         When the processor branches to L1, it executes MOV R1, #500

Show/hideSee also

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473C
Non-ConfidentialID080411