⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i386-float.html

📁 gcc手册
💻 HTML
字号:
<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-Float">i386-Float</a>,

Next:<a rel="next" accesskey="n" href="i386-SIMD.html#i386-SIMD">i386-SIMD</a>,

Previous:<a rel="previous" accesskey="p" href="i386-Jumps.html#i386-Jumps">i386-Jumps</a>,

Up:<a rel="up" accesskey="u" href="i386-Dependent.html#i386-Dependent">i386-Dependent</a>

<hr><br>

</div>



<h4 class="section">Floating Point</h4>



   <p>All 80387 floating point types except packed BCD are supported. 

(BCD support may be added without much difficulty).  These data

types are 16-, 32-, and 64- bit integers, and single (32-bit),

double (64-bit), and extended (80-bit) precision floating point. 

Each supported type has an instruction mnemonic suffix and a constructor

associated with it.  Instruction mnemonic suffixes specify the operand's

data type.  Constructors build these data types into memory.



     <ul>

<li>Floating point constructors are <code>.float</code> or <code>.single</code>,

<code>.double</code>, and <code>.tfloat</code> for 32-, 64-, and 80-bit formats. 

These correspond to instruction mnemonic suffixes <code>s</code>, <code>l</code>,

and <code>t</code>. <code>t</code> stands for 80-bit (ten byte) real.  The 80387

only supports this format via the <code>fldt</code> (load 80-bit real to stack

top) and <code>fstpt</code> (store 80-bit real and pop stack) instructions.



     <li>Integer constructors are <code>.word</code>, <code>.long</code> or <code>.int</code>, and

<code>.quad</code> for the 16-, 32-, and 64-bit integer formats.  The

corresponding instruction mnemonic suffixes are <code>s</code> (single),

<code>l</code> (long), and <code>q</code> (quad).  As with the 80-bit real format,

the 64-bit <code>q</code> format is only present in the <code>fildq</code> (load

quad integer to stack top) and <code>fistpq</code> (store quad integer and pop

stack) instructions. 

</ul>



   <p>Register to register operations should not use instruction mnemonic suffixes. 

<code>fstl %st, %st(1)</code> will give a warning, and be assembled as if you

wrote <code>fst %st, %st(1)</code>, since all register to register operations

use 80-bit floating point operands. (Contrast this with <code>fstl %st, mem</code>,

which converts <code>%st</code> from 80-bit to 64-bit floating point format,

then stores the result in the 4 byte location <code>mem</code>)



   </body></html>



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -