| 1 | @c Copyright 2009, 2011, 2013 |
| 2 | @c Free Software Foundation, Inc. |
| 3 | @c This is part of the GAS manual. |
| 4 | @c For copying conditions, see the file as.texinfo. |
| 5 | @ifset GENERIC |
| 6 | @page |
| 7 | @node SCORE-Dependent |
| 8 | @chapter SCORE Dependent Features |
| 9 | @end ifset |
| 10 | @ifclear GENERIC |
| 11 | @node Machine Dependencies |
| 12 | @chapter SCORE Dependent Features |
| 13 | @end ifclear |
| 14 | |
| 15 | @cindex SCORE processor |
| 16 | @menu |
| 17 | * SCORE-Opts:: Assembler options |
| 18 | * SCORE-Pseudo:: SCORE Assembler Directives |
| 19 | * SCORE-Syntax:: Syntax |
| 20 | @end menu |
| 21 | |
| 22 | @node SCORE-Opts |
| 23 | @section Options |
| 24 | |
| 25 | @cindex options for SCORE |
| 26 | @cindex SCORE options |
| 27 | @cindex architectures, SCORE |
| 28 | @cindex SCORE architectures |
| 29 | |
| 30 | The following table lists all available SCORE options. |
| 31 | |
| 32 | @table @code |
| 33 | @item -G @var{num} |
| 34 | This option sets the largest size of an object that can be referenced |
| 35 | implicitly with the @code{gp} register. The default value is 8. |
| 36 | |
| 37 | @item -EB |
| 38 | Assemble code for a big-endian cpu |
| 39 | |
| 40 | @item -EL |
| 41 | Assemble code for a little-endian cpu |
| 42 | |
| 43 | @item -FIXDD |
| 44 | Assemble code for fix data dependency |
| 45 | |
| 46 | @item -NWARN |
| 47 | Assemble code for no warning message for fix data dependency |
| 48 | |
| 49 | @item -SCORE5 |
| 50 | Assemble code for target is SCORE5 |
| 51 | |
| 52 | @item -SCORE5U |
| 53 | Assemble code for target is SCORE5U |
| 54 | |
| 55 | @item -SCORE7 |
| 56 | Assemble code for target is SCORE7, this is default setting |
| 57 | |
| 58 | @item -SCORE3 |
| 59 | Assemble code for target is SCORE3 |
| 60 | |
| 61 | @item -march=score7 |
| 62 | Assemble code for target is SCORE7, this is default setting |
| 63 | |
| 64 | @item -march=score3 |
| 65 | Assemble code for target is SCORE3 |
| 66 | |
| 67 | @item -USE_R1 |
| 68 | Assemble code for no warning message when using temp register r1 |
| 69 | |
| 70 | @item -KPIC |
| 71 | Generate code for PIC. This option tells the assembler to generate |
| 72 | score position-independent macro expansions. It also tells the |
| 73 | assembler to mark the output file as PIC. |
| 74 | |
| 75 | @item -O0 |
| 76 | Assembler will not perform any optimizations |
| 77 | |
| 78 | @item -V |
| 79 | Sunplus release version |
| 80 | |
| 81 | @end table |
| 82 | |
| 83 | @node SCORE-Pseudo |
| 84 | @section SCORE Assembler Directives |
| 85 | |
| 86 | @cindex directives for SCORE |
| 87 | @cindex SCORE directives |
| 88 | A number of assembler directives are available for SCORE. The |
| 89 | following table is far from complete. |
| 90 | |
| 91 | @table @code |
| 92 | @item .set nwarn |
| 93 | Let the assembler not to generate warnings if the source machine |
| 94 | language instructions happen data dependency. |
| 95 | |
| 96 | @item .set fixdd |
| 97 | Let the assembler to insert bubbles (32 bit nop instruction / |
| 98 | 16 bit nop! Instruction) if the source machine language instructions |
| 99 | happen data dependency. |
| 100 | |
| 101 | @item .set nofixdd |
| 102 | Let the assembler to generate warnings if the source machine |
| 103 | language instructions happen data dependency. (Default) |
| 104 | |
| 105 | @item .set r1 |
| 106 | Let the assembler not to generate warnings if the source program |
| 107 | uses r1. allow user to use r1 |
| 108 | |
| 109 | @item set nor1 |
| 110 | Let the assembler to generate warnings if the source program uses |
| 111 | r1. (Default) |
| 112 | |
| 113 | @item .sdata |
| 114 | Tell the assembler to add subsequent data into the sdata section |
| 115 | |
| 116 | @item .rdata |
| 117 | Tell the assembler to add subsequent data into the rdata section |
| 118 | |
| 119 | @item .frame "frame-register", "offset", "return-pc-register" |
| 120 | Describe a stack frame. "frame-register" is the frame register, |
| 121 | "offset" is the distance from the frame register to the virtual |
| 122 | frame pointer, "return-pc-register" is the return program register. |
| 123 | You must use ".ent" before ".frame" and only one ".frame" can be |
| 124 | used per ".ent". |
| 125 | |
| 126 | @item .mask "bitmask", "frameoffset" |
| 127 | Indicate which of the integer registers are saved in the current |
| 128 | function's stack frame, this is for the debugger to explain the |
| 129 | frame chain. |
| 130 | |
| 131 | @item .ent "proc-name" |
| 132 | Set the beginning of the procedure "proc_name". Use this directive |
| 133 | when you want to generate information for the debugger. |
| 134 | |
| 135 | @item .end proc-name |
| 136 | Set the end of a procedure. Use this directive to generate information |
| 137 | for the debugger. |
| 138 | |
| 139 | @item .bss |
| 140 | Switch the destination of following statements into the bss section, |
| 141 | which is used for data that is uninitialized anywhere. |
| 142 | |
| 143 | @end table |
| 144 | |
| 145 | @node SCORE-Syntax |
| 146 | @section SCORE Syntax |
| 147 | @menu |
| 148 | * SCORE-Chars:: Special Characters |
| 149 | @end menu |
| 150 | |
| 151 | @node SCORE-Chars |
| 152 | @subsection Special Characters |
| 153 | |
| 154 | @cindex line comment character, SCORE |
| 155 | @cindex SCORE line comment character |
| 156 | The presence of a @samp{#} appearing anywhere on a line indicates the |
| 157 | start of a comment that extends to the end of that line. |
| 158 | |
| 159 | If a @samp{#} appears as the first character of a line then the whole |
| 160 | line is treated as a comment, but in this case the line can also be a |
| 161 | logical line number directive (@pxref{Comments}) or a preprocessor |
| 162 | control command (@pxref{Preprocessing}). |
| 163 | |
| 164 | @cindex line separator, SCORE |
| 165 | @cindex statement separator, SCORE |
| 166 | @cindex SCORE line separator |
| 167 | The @samp{;} character can be used to separate statements on the same |
| 168 | line. |