114 lines
		
	
	
	
		
			6.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			114 lines
		
	
	
	
		
			6.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
								 | 
							
								<html lang="en">
							 | 
						||
| 
								 | 
							
								<head>
							 | 
						||
| 
								 | 
							
								<title>Strings - Using as</title>
							 | 
						||
| 
								 | 
							
								<meta http-equiv="Content-Type" content="text/html">
							 | 
						||
| 
								 | 
							
								<meta name="description" content="Using as">
							 | 
						||
| 
								 | 
							
								<meta name="generator" content="makeinfo 4.7">
							 | 
						||
| 
								 | 
							
								<link title="Top" rel="start" href="index.html#Top">
							 | 
						||
| 
								 | 
							
								<link rel="up" href="Characters.html#Characters" title="Characters">
							 | 
						||
| 
								 | 
							
								<link rel="next" href="Chars.html#Chars" title="Chars">
							 | 
						||
| 
								 | 
							
								<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
							 | 
						||
| 
								 | 
							
								<!--
							 | 
						||
| 
								 | 
							
								This file documents the GNU Assembler "as".
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002,
							 | 
						||
| 
								 | 
							
								2006, 2007 Free Software Foundation, Inc.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Permission is granted to copy, distribute and/or modify this document
							 | 
						||
| 
								 | 
							
								under the terms of the GNU Free Documentation License, Version 1.1
							 | 
						||
| 
								 | 
							
								or any later version published by the Free Software Foundation;
							 | 
						||
| 
								 | 
							
								with no Invariant Sections, with no Front-Cover Texts, and with no
							 | 
						||
| 
								 | 
							
								Back-Cover Texts.  A copy of the license is included in the
							 | 
						||
| 
								 | 
							
								section entitled ``GNU Free Documentation License''.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								man end-->
							 | 
						||
| 
								 | 
							
								<meta http-equiv="Content-Style-Type" content="text/css">
							 | 
						||
| 
								 | 
							
								<style type="text/css"><!--
							 | 
						||
| 
								 | 
							
								  pre.display { font-family:inherit }
							 | 
						||
| 
								 | 
							
								  pre.format  { font-family:inherit }
							 | 
						||
| 
								 | 
							
								  pre.smalldisplay { font-family:inherit; font-size:smaller }
							 | 
						||
| 
								 | 
							
								  pre.smallformat  { font-family:inherit; font-size:smaller }
							 | 
						||
| 
								 | 
							
								  pre.smallexample { font-size:smaller }
							 | 
						||
| 
								 | 
							
								  pre.smalllisp    { font-size:smaller }
							 | 
						||
| 
								 | 
							
								  span.sc { font-variant:small-caps }
							 | 
						||
| 
								 | 
							
								  span.roman { font-family: serif; font-weight: normal; } 
							 | 
						||
| 
								 | 
							
								--></style>
							 | 
						||
| 
								 | 
							
								</head>
							 | 
						||
| 
								 | 
							
								<body>
							 | 
						||
| 
								 | 
							
								<div class="node">
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								<a name="Strings"></a>Next: <a rel="next" accesskey="n" href="Chars.html#Chars">Chars</a>,
							 | 
						||
| 
								 | 
							
								Up: <a rel="up" accesskey="u" href="Characters.html#Characters">Characters</a>
							 | 
						||
| 
								 | 
							
								<hr><br>
							 | 
						||
| 
								 | 
							
								</div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">3.6.1.1 Strings</h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><a name="index-string-constants-142"></a><a name="index-constants_002c-string-143"></a>A <dfn>string</dfn> is written between double-quotes.  It may contain
							 | 
						||
| 
								 | 
							
								double-quotes or null characters.  The way to get special characters
							 | 
						||
| 
								 | 
							
								into a string is to <dfn>escape</dfn> these characters: precede them with
							 | 
						||
| 
								 | 
							
								a backslash <span class="samp">\</span> character.  For example <span class="samp">\\</span> represents
							 | 
						||
| 
								 | 
							
								one backslash:  the first <code>\</code> is an escape which tells
							 | 
						||
| 
								 | 
							
								<span class="command">as</span> to interpret the second character literally as a backslash
							 | 
						||
| 
								 | 
							
								(which prevents <span class="command">as</span> from recognizing the second <code>\</code> as an
							 | 
						||
| 
								 | 
							
								escape character).  The complete list of escapes follows.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-escape-codes_002c-character-144"></a><a name="index-character-escape-codes-145"></a>
							 | 
						||
| 
								 | 
							
								     <dl>
							 | 
						||
| 
								 | 
							
								<!-- @item \a -->
							 | 
						||
| 
								 | 
							
								<!-- Mnemonic for ACKnowledge; for ASCII this is octal code 007. -->
							 | 
						||
| 
								 | 
							
								<a name="index-_0040code_007b_005cb_007d-_0028backspace-character_0029-146"></a><a name="index-backspace-_0028_0040code_007b_005cb_007d_0029-147"></a><dt><kbd>\b</kbd><dd>Mnemonic for backspace; for ASCII this is octal code 010.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     <!-- @item \e -->
							 | 
						||
| 
								 | 
							
								<!-- Mnemonic for EOText; for ASCII this is octal code 004. -->
							 | 
						||
| 
								 | 
							
								<p><a name="index-_0040code_007b_005cf_007d-_0028formfeed-character_0029-148"></a><a name="index-formfeed-_0028_0040code_007b_005cf_007d_0029-149"></a><br><dt><kbd>\f</kbd><dd>Mnemonic for FormFeed; for ASCII this is octal code 014.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     <p><a name="index-_0040code_007b_005cn_007d-_0028newline-character_0029-150"></a><a name="index-newline-_0028_0040code_007b_005cn_007d_0029-151"></a><br><dt><kbd>\n</kbd><dd>Mnemonic for newline; for ASCII this is octal code 012.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     <!-- @item \p -->
							 | 
						||
| 
								 | 
							
								<!-- Mnemonic for prefix; for ASCII this is octal code 033, usually known as @code{escape}. -->
							 | 
						||
| 
								 | 
							
								<p><a name="index-_0040code_007b_005cr_007d-_0028carriage-return-character_0029-152"></a><a name="index-carriage-return-_0028_0040code_007b_005cr_007d_0029-153"></a><br><dt><kbd>\r</kbd><dd>Mnemonic for carriage-Return; for ASCII this is octal code 015.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     <!-- @item \s -->
							 | 
						||
| 
								 | 
							
								<!-- Mnemonic for space; for ASCII this is octal code 040.  Included for compliance with -->
							 | 
						||
| 
								 | 
							
								<!-- other assemblers. -->
							 | 
						||
| 
								 | 
							
								<p><a name="index-_0040code_007b_005ct_007d-_0028tab_0029-154"></a><a name="index-tab-_0028_0040code_007b_005ct_007d_0029-155"></a><br><dt><kbd>\t</kbd><dd>Mnemonic for horizontal Tab; for ASCII this is octal code 011.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     <!-- @item \v -->
							 | 
						||
| 
								 | 
							
								<!-- Mnemonic for Vertical tab; for ASCII this is octal code 013. -->
							 | 
						||
| 
								 | 
							
								<!-- @item \x @var{digit} @var{digit} @var{digit} -->
							 | 
						||
| 
								 | 
							
								<!-- A hexadecimal character code.  The numeric code is 3 hexadecimal digits. -->
							 | 
						||
| 
								 | 
							
								<p><a name="index-_0040code_007b_005c_0040var_007bddd_007d_007d-_0028octal-character-code_0029-156"></a><a name="index-octal-character-code-_0028_0040code_007b_005c_0040var_007bddd_007d_007d_0029-157"></a><br><dt><kbd>\ </kbd><var>digit</var> <var>digit</var> <var>digit</var><dd>An octal character code.  The numeric code is 3 octal digits. 
							 | 
						||
| 
								 | 
							
								For compatibility with other Unix systems, 8 and 9 are accepted as digits:
							 | 
						||
| 
								 | 
							
								for example, <code>\008</code> has the value 010, and <code>\009</code> the value 011.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     <p><a name="index-_0040code_007b_005c_0040var_007bxd_002e_002e_002e_007d_007d-_0028hex-character-code_0029-158"></a><a name="index-hex-character-code-_0028_0040code_007b_005c_0040var_007bxd_002e_002e_002e_007d_007d_0029-159"></a><br><dt><kbd>\</kbd><code>x</code> <var>hex-digits...</var><dd>A hex character code.  All trailing hex digits are combined.  Either upper or
							 | 
						||
| 
								 | 
							
								lower case <code>x</code> works.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     <p><a name="index-_0040code_007b_005c_005c_007d-_0028_0040samp_007b_005c_007d-character_0029-160"></a><a name="index-backslash-_0028_0040code_007b_005c_005c_007d_0029-161"></a><br><dt><kbd>\\</kbd><dd>Represents one <span class="samp">\</span> character.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     <!-- @item \' -->
							 | 
						||
| 
								 | 
							
								<!-- Represents one @samp{'} (accent acute) character. -->
							 | 
						||
| 
								 | 
							
								<!-- This is needed in single character literals -->
							 | 
						||
| 
								 | 
							
								<!-- (@xref{Characters,,Character Constants}.) to represent -->
							 | 
						||
| 
								 | 
							
								<!-- a @samp{'}. -->
							 | 
						||
| 
								 | 
							
								<p><a name="index-_0040code_007b_005c_0022_007d-_0028doublequote-character_0029-162"></a><a name="index-doublequote-_0028_0040code_007b_005c_0022_007d_0029-163"></a><br><dt><kbd>\"</kbd><dd>Represents one <span class="samp">"</span> character.  Needed in strings to represent
							 | 
						||
| 
								 | 
							
								this character, because an unescaped <span class="samp">"</span> would end the string.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     <br><dt><kbd>\ </kbd><var>anything-else</var><dd>Any other character when escaped by <kbd>\</kbd> gives a warning, but
							 | 
						||
| 
								 | 
							
								assembles as if the <span class="samp">\</span> was not present.  The idea is that if
							 | 
						||
| 
								 | 
							
								you used an escape sequence you clearly didn't want the literal
							 | 
						||
| 
								 | 
							
								interpretation of the following character.  However <span class="command">as</span> has no
							 | 
						||
| 
								 | 
							
								other interpretation, so <span class="command">as</span> knows it is giving you the wrong
							 | 
						||
| 
								 | 
							
								code and warns you of the fact. 
							 | 
						||
| 
								 | 
							
								</dl>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p>Which characters are escapable, and what those escapes represent,
							 | 
						||
| 
								 | 
							
								varies widely among assemblers.  The current set is what we think
							 | 
						||
| 
								 | 
							
								the BSD 4.2 assembler recognizes, and is a subset of what most C
							 | 
						||
| 
								 | 
							
								compilers recognize.  If you are in doubt, do not use an escape
							 | 
						||
| 
								 | 
							
								sequence.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   </body></html>
							 | 
						||
| 
								 | 
							
								
							 |