c-rl78.texi revision 1.1
1@c Copyright 2011 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 RL78-Dependent 8@chapter RL78 Dependent Features 9@end ifset 10@ifclear GENERIC 11@node Machine Dependencies 12@chapter RL78 Dependent Features 13@end ifclear 14 15@cindex RL78 support 16@menu 17* RL78-Opts:: RL78 Assembler Command Line Options 18* RL78-Modifiers:: Symbolic Operand Modifiers 19* RL78-Directives:: Assembler Directives 20* RL78-Syntax:: Syntax 21@end menu 22 23@node RL78-Opts 24@section RL78 Options 25@cindex options, RL78 26@cindex RL78 options 27 28The Renesas RL78 port of @code{@value{AS}} has no target-specific 29options. 30 31@node RL78-Modifiers 32@section Symbolic Operand Modifiers 33 34@cindex RL78 modifiers 35@cindex syntax, RL78 36 37The RL78 has three modifiers that adjust the relocations used by the 38linker: 39 40@table @code 41 42@item %lo16() 43 44When loading a 20-bit (or wider) address into registers, this modifier 45selects the 16 least significant bits. 46 47@smallexample 48 movw ax,#%lo16(_sym) 49@end smallexample 50 51@item %hi16() 52 53When loading a 20-bit (or wider) address into registers, this modifier 54selects the 16 most significant bits. 55 56@smallexample 57 movw ax,#%hi16(_sym) 58@end smallexample 59 60@item %hi8() 61 62When loading a 20-bit (or wider) address into registers, this modifier 63selects the 8 bits that would go into CS or ES (i.e. bits 23..16). 64 65@smallexample 66 mov es, #%hi8(_sym) 67@end smallexample 68 69@end table 70 71@node RL78-Directives 72@section Assembler Directives 73 74@cindex assembler directives, RL78 75@cindex RL78 assembler directives 76 77In addition to the common directives, the RL78 adds these: 78 79@table @code 80 81@item .double 82Output a constant in ``double'' format, which is a 32-bit floating 83point value on RL78. 84 85@item .bss 86Select the BSS section. 87 88@item .3byte 89Output a constant value in a three byte format. 90 91@item .int 92@itemx .word 93Output a constant value in a four byte format. 94 95@end table 96 97@node RL78-Syntax 98@section Syntax for the RL78 99@menu 100* RL78-Chars:: Special Characters 101@end menu 102 103@node RL78-Chars 104@subsection Special Characters 105 106@cindex line comment character, RL78 107@cindex RL78 line comment character 108The presence of a @samp{;} appearing anywhere on a line indicates the 109start of a comment that extends to the end of that line. 110 111If a @samp{#} appears as the first character of a line then the whole 112line is treated as a comment, but in this case the line can also be a 113logical line number directive (@pxref{Comments}) or a preprocessor 114control command (@pxref{Preprocessing}). 115 116@cindex line separator, RL78 117@cindex statement separator, RL78 118@cindex RL78 line separator 119The @samp{|} character can be used to separate statements on the same 120line. 121