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