SCORE Dependent Features
************************

Options
=======

The following table lists all available SCORE options.

-G NUM
     This option sets the largest size of an object that can be referenced implicitly with the gp register. The default value is 8.

-EB
     Assemble code for a big-endian cpu

-EL
     Assemble code for a little-endian cpu

-FIXDD
     Assemble code for fix data dependency

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

-SCORE5
     Assemble code for target is SCORE5

-SCORE5U
     Assemble code for target is SCORE5U

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

-SCORE3
     Assemble code for target is SCORE3

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

-march=score3
     Assemble code for target is SCORE3

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

-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.

-O0
     Assembler will not perform any optimizations

-V
     Sunplus release version

SCORE Assembler Directives
==========================

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

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

.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.

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

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

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

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

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

.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".

.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.

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

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

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

SCORE Syntax
============

Special Characters
------------------

The presence of a # appearing anywhere on a line indicates the start of a comment that extends to the end of that line.

If a # 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 (see Comments) or a preprocessor control command (see Preprocessing).

The ; character can be used to separate statements on the same line.