You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

i386_002dBugs.html 3.9KB

3 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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-2020 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 6.5, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  15. <title>i386-Bugs (Using as)</title>
  16. <meta name="description" content="i386-Bugs (Using as)">
  17. <meta name="keywords" content="i386-Bugs (Using as)">
  18. <meta name="resource-type" content="document">
  19. <meta name="distribution" content="global">
  20. <meta name="Generator" content="makeinfo">
  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="i386_002dDependent.html#i386_002dDependent" rel="up" title="i386-Dependent">
  25. <link href="i386_002dNotes.html#i386_002dNotes" rel="next" title="i386-Notes">
  26. <link href="i386_002dISA.html#i386_002dISA" rel="prev" title="i386-ISA">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.indentedblock {margin-right: 0em}
  31. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  32. blockquote.smallquotation {font-size: smaller}
  33. div.display {margin-left: 3.2em}
  34. div.example {margin-left: 3.2em}
  35. div.lisp {margin-left: 3.2em}
  36. div.smalldisplay {margin-left: 3.2em}
  37. div.smallexample {margin-left: 3.2em}
  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.nolinebreak {white-space: nowrap}
  49. span.roman {font-family: initial; font-weight: normal}
  50. span.sansserif {font-family: sans-serif; font-weight: normal}
  51. ul.no-bullet {list-style: none}
  52. -->
  53. </style>
  54. </head>
  55. <body lang="en">
  56. <a name="i386_002dBugs"></a>
  57. <div class="header">
  58. <p>
  59. Next: <a href="i386_002dNotes.html#i386_002dNotes" accesskey="n" rel="next">i386-Notes</a>, Previous: <a href="i386_002dISA.html#i386_002dISA" accesskey="p" rel="prev">i386-ISA</a>, Up: <a href="i386_002dDependent.html#i386_002dDependent" accesskey="u" rel="up">i386-Dependent</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>
  60. </div>
  61. <hr>
  62. <a name="AT_0026T-Syntax-bugs"></a>
  63. <h4 class="subsection">9.16.17 AT&amp;T Syntax bugs</h4>
  64. <p>The UnixWare assembler, and probably other AT&amp;T derived ix86 Unix
  65. assemblers, generate floating point instructions with reversed source
  66. and destination registers in certain cases. Unfortunately, gcc and
  67. possibly many other programs use this reversed syntax, so we&rsquo;re stuck
  68. with it.
  69. </p>
  70. <p>For example
  71. </p>
  72. <div class="smallexample">
  73. <pre class="smallexample"> fsub %st,%st(3)
  74. </pre></div>
  75. <p>results in &lsquo;<samp>%st(3)</samp>&rsquo; being updated to &lsquo;<samp>%st - %st(3)</samp>&rsquo; rather
  76. than the expected &lsquo;<samp>%st(3) - %st</samp>&rsquo;. This happens with all the
  77. non-commutative arithmetic floating point operations with two register
  78. operands where the source register is &lsquo;<samp>%st</samp>&rsquo; and the destination
  79. register is &lsquo;<samp>%st(i)</samp>&rsquo;.
  80. </p>
  81. </body>
  82. </html>