Set.html 4.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the GNU Assembler "as".
  4. Copyright (C) 1991-2017 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3
  7. or any later version published by the Free Software Foundation;
  8. with no Invariant Sections, with no Front-Cover Texts, and with no
  9. Back-Cover Texts. A copy of the license is included in the
  10. section entitled "GNU Free Documentation License".
  11. -->
  12. <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <title>Using as: Set</title>
  15. <meta name="description" content="Using as: Set">
  16. <meta name="keywords" content="Using as: Set">
  17. <meta name="resource-type" content="document">
  18. <meta name="distribution" content="global">
  19. <meta name="Generator" content="makeinfo">
  20. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  21. <link href="index.html#Top" rel="start" title="Top">
  22. <link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="Pseudo-Ops.html#Pseudo-Ops" rel="up" title="Pseudo Ops">
  25. <link href="Short.html#Short" rel="next" title="Short">
  26. <link href="Section.html#Section" rel="prev" title="Section">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.smallquotation {font-size: smaller}
  31. div.display {margin-left: 3.2em}
  32. div.example {margin-left: 3.2em}
  33. div.indentedblock {margin-left: 3.2em}
  34. div.lisp {margin-left: 3.2em}
  35. div.smalldisplay {margin-left: 3.2em}
  36. div.smallexample {margin-left: 3.2em}
  37. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  38. div.smalllisp {margin-left: 3.2em}
  39. kbd {font-style:oblique}
  40. pre.display {font-family: inherit}
  41. pre.format {font-family: inherit}
  42. pre.menu-comment {font-family: serif}
  43. pre.menu-preformatted {font-family: serif}
  44. pre.smalldisplay {font-family: inherit; font-size: smaller}
  45. pre.smallexample {font-size: smaller}
  46. pre.smallformat {font-family: inherit; font-size: smaller}
  47. pre.smalllisp {font-size: smaller}
  48. span.nocodebreak {white-space:nowrap}
  49. span.nolinebreak {white-space:nowrap}
  50. span.roman {font-family:serif; font-weight:normal}
  51. span.sansserif {font-family:sans-serif; font-weight:normal}
  52. ul.no-bullet {list-style: none}
  53. -->
  54. </style>
  55. </head>
  56. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  57. <a name="Set"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="Short.html#Short" accesskey="n" rel="next">Short</a>, Previous: <a href="Section.html#Section" accesskey="p" rel="prev">Section</a>, Up: <a href="Pseudo-Ops.html#Pseudo-Ops" accesskey="u" rel="up">Pseudo Ops</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
  61. </div>
  62. <hr>
  63. <a name="g_t_002eset-symbol_002c-expression"></a>
  64. <h3 class="section">7.79 <code>.set <var>symbol</var>, <var>expression</var></code></h3>
  65. <a name="index-set-directive"></a>
  66. <a name="index-symbol-value_002c-setting"></a>
  67. <p>Set the value of <var>symbol</var> to <var>expression</var>. This
  68. changes <var>symbol</var>&rsquo;s value and type to conform to
  69. <var>expression</var>. If <var>symbol</var> was flagged as external, it remains
  70. flagged (see <a href="Symbol-Attributes.html#Symbol-Attributes">Symbol Attributes</a>).
  71. </p>
  72. <p>You may <code>.set</code> a symbol many times in the same assembly provided that the
  73. values given to the symbol are constants. Values that are based on expressions
  74. involving other symbols are allowed, but some targets may restrict this to only
  75. being done once per assembly. This is because those targets do not set the
  76. addresses of symbols at assembly time, but rather delay the assignment until a
  77. final link is performed. This allows the linker a chance to change the code in
  78. the files, changing the location of, and the relative distance between, various
  79. different symbols.
  80. </p>
  81. <p>If you <code>.set</code> a global symbol, the value stored in the object
  82. file is the last value stored into it.
  83. </p>
  84. <p>On Z80 <code>set</code> is a real instruction, use
  85. &lsquo;<samp><var>symbol</var> defl <var>expression</var></samp>&rsquo; instead.
  86. </p>
  87. </body>
  88. </html>