8-4
EPSOn
S5U1C17001C ManUal
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
8 aSSEMBlEr
8.4 Scope
Symbols defined in each source file can freely be referred to within that file. Such reference range of symbols is
termed scope.
Usually, reference can be made only within a defined file. If a symbol that does not exist in that file is referenced,
the
as
assembler creates the object file assuming that the symbol is an undefined symbol, leaving the problem to be
solved by the
ld
linker.
If your development project requires the use of multiple source files, it is necessary for the scope to be extended to
cover other source files. The
as
assembler has the pseudo-instructions that can be used for this purpose.
Symbols that can be referenced in only the file where they are defined are called "local symbols". Symbols that
are declared to be global are called "global symbols". Local symbols – even when symbols of the same name
are specified in two or more different files – are handled as different symbols. Global symbols – if defined as
overlapping in multiple files – cause a warning to be generated in the
ld
linker.
Example:
file1
: file in which global symbol is defined
.global SYMBOL
...Global declaration of symbols that are to be defined in this file.
.global VAR1
SYMBOL:
:
:
LABEL:
...Local symbol
:
(Can be referred to only in this file)
.section .bss
.align 2
VAR1:
.zero 4
file2
: file in which a global symbol is referred
xcall SYMBOL
...Symbol externally referred
:
xld.a %r1,VAR1
...Symbol externally referred
LABEL:
...Local symbol
:
(Treated as a different symbol from
LABEL
of file1)
The
as
assembler regards the symbols
SYMBOL
and
VAR1
in the file2 as those of undefined addresses in the
assembling, and includes that information in the object file it delivers. Those addresses are finally determined by
the processing of the
ld
linker.
Summary of Contents for S5U1C17001C
Page 6: ......
Page 17: ...1 General S5U1C17001C Manual 1 General ...
Page 18: ......
Page 21: ...1 2 Install S5U1C17001C Manual 2 Installation ...
Page 22: ......
Page 29: ...3 SoftDev S5U1C17001C Manual 3 Software Development Procedures ...
Page 30: ......
Page 103: ...4 SrcFiles S5U1C17001C Manual 4 Source files ...
Page 104: ......
Page 121: ...5 IDE S5U1C17001C Manual 5 gnU17 iDE ...
Page 122: ......
Page 365: ...6 Compiler S5U1C17001C Manual 6 C Compiler ...
Page 366: ......
Page 385: ...7 Library S5U1C17001C Manual 7 library ...
Page 386: ......
Page 405: ...8 Assemblr S5U1C17001C Manual 8 assembler ...
Page 406: ......
Page 439: ...9 Linker S5U1C17001C Manual 9 linker ...
Page 440: ......
Page 449: ...10 Debugger S5U1C17001C Manual 10 Debugger ...
Page 450: ......
Page 626: ...11 Tools S5U1C17001C Manual 11 Other Tools ...
Page 627: ......
Page 696: ...S1C17 Family C Compiler Package Quick Reference Reference ...