i386-bugs.html
来自「gcc手册」· HTML 代码 · 共 40 行
HTML
40 行
<html lang="en">
<head>
<title>Using as</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using as">
<meta name="generator" content="makeinfo 4.3">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home">
</head>
<body>
<div class="node">
<p>
Node:<a name="i386-Bugs">i386-Bugs</a>,
Next:<a rel="next" accesskey="n" href="i386-Notes.html#i386-Notes">i386-Notes</a>,
Previous:<a rel="previous" accesskey="p" href="i386-Arch.html#i386-Arch">i386-Arch</a>,
Up:<a rel="up" accesskey="u" href="i386-Dependent.html#i386-Dependent">i386-Dependent</a>
<hr><br>
</div>
<h4 class="section">AT&T Syntax bugs</h4>
<p>The UnixWare assembler, and probably other AT&T derived ix86 Unix
assemblers, generate floating point instructions with reversed source
and destination registers in certain cases. Unfortunately, gcc and
possibly many other programs use this reversed syntax, so we're stuck
with it.
<p>For example
<pre class="smallexample"> fsub %st,%st(3)
</pre>
<p>results in <code>%st(3)</code> being updated to <code>%st - %st(3)</code> rather
than the expected <code>%st(3) - %st</code>. This happens with all the
non-commutative arithmetic floating point operations with two register
operands where the source register is <code>%st</code> and the destination
register is <code>%st(i)</code>.
</body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?