aboutsummaryrefslogtreecommitdiff
path: root/gas/doc/c-score.texi
blob: 40dc8b2d3ba6303e9508a5caf9066b64cc4d875c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
@c Copyright (C) 2009-2022 Free Software Foundation, Inc.
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@ifset GENERIC
@page
@node SCORE-Dependent
@chapter SCORE Dependent Features
@end ifset
@ifclear GENERIC
@node Machine Dependencies
@chapter SCORE Dependent Features
@end ifclear

@cindex SCORE processor
@menu
* SCORE-Opts::   	Assembler options
* SCORE-Pseudo::        SCORE Assembler Directives
* SCORE-Syntax::        Syntax
@end menu

@node SCORE-Opts
@section Options

@cindex options for SCORE
@cindex SCORE options
@cindex architectures, SCORE
@cindex SCORE architectures

The following table lists all available SCORE options.

@table @code
@item -G @var{num}
This option sets the largest size of an object that can be referenced
implicitly with the @code{gp} register. The default value is 8.

@item -EB
Assemble code for a big-endian cpu

@item -EL
Assemble code for a little-endian cpu

@item -FIXDD
Assemble code for fix data dependency

@item -NWARN
Assemble code for no warning message for fix data dependency

@item -SCORE5
Assemble code for target is SCORE5

@item -SCORE5U
Assemble code for target is SCORE5U

@item -SCORE7
Assemble code for target is SCORE7, this is default setting

@item -SCORE3
Assemble code for target is SCORE3

@item -march=score7
Assemble code for target is SCORE7, this is default setting

@item -march=score3
Assemble code for target is SCORE3

@item -USE_R1
Assemble code for no warning message when using temp register r1

@item -KPIC
Generate code for PIC.  This option tells the assembler to generate
score position-independent macro expansions.  It also tells the
assembler to mark the output file as PIC.

@item -O0
Assembler will not perform any optimizations

@item -V
Sunplus release version

@end table

@node SCORE-Pseudo
@section SCORE Assembler Directives

@cindex directives for SCORE
@cindex SCORE directives
A number of assembler directives are available for SCORE.  The
following table is far from complete.

@table @code
@item .set nwarn
Let the assembler not to generate warnings if the source machine
language instructions happen data dependency.

@item .set fixdd
Let the assembler to insert bubbles (32 bit nop instruction /
16 bit nop! Instruction) if the source machine language instructions
happen data dependency.

@item .set nofixdd
Let the assembler to generate warnings if the source machine
language instructions happen data dependency. (Default)

@item .set r1
Let the assembler not to generate warnings if the source program
uses r1. allow user to use r1

@item set nor1
Let the assembler to generate warnings if the source program uses
r1. (Default)

@item .sdata
Tell the assembler to add subsequent data into the sdata section

@item .rdata
Tell the assembler to add subsequent data into the rdata section

@item .frame "frame-register", "offset", "return-pc-register"
Describe a stack frame. "frame-register" is the frame register,
"offset" is the distance from the frame register to the virtual
frame pointer, "return-pc-register" is the return program register.
You must use ".ent" before ".frame" and only one ".frame" can be
used per ".ent".

@item .mask "bitmask", "frameoffset"
Indicate which of the integer registers are saved in the current
function's stack frame, this is for the debugger to explain the
frame chain.

@item .ent "proc-name"
Set the beginning of the procedure "proc_name". Use this directive
when you want to generate information for the debugger.

@item .end proc-name
Set the end of a procedure. Use this directive to generate information
for the debugger.

@item .bss
Switch the destination of following statements into the bss section,
which is used for data that is uninitialized anywhere.

@end table

@node SCORE-Syntax
@section SCORE Syntax
@menu
* SCORE-Chars::                Special Characters
@end menu

@node SCORE-Chars
@subsection Special Characters

@cindex line comment character, SCORE
@cindex SCORE line comment character
The presence of a @samp{#} appearing anywhere on a line indicates the
start of a comment that extends to the end of that line.

If a @samp{#} appears as the first character of a line then the whole
line is treated as a comment, but in this case the line can also be a
logical line number directive (@pxref{Comments}) or a preprocessor
control command (@pxref{Preprocessing}).

@cindex line separator, SCORE
@cindex statement separator, SCORE
@cindex SCORE line separator
The @samp{;} character can be used to separate statements on the same
line.