📄 i386-regs.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-Regs">i386-Regs</a>,
Next:<a rel="next" accesskey="n" href="i386-Prefixes.html#i386-Prefixes">i386-Prefixes</a>,
Previous:<a rel="previous" accesskey="p" href="i386-Mnemonics.html#i386-Mnemonics">i386-Mnemonics</a>,
Up:<a rel="up" accesskey="u" href="i386-Dependent.html#i386-Dependent">i386-Dependent</a>
<hr><br>
</div>
<h4 class="section">Register Naming</h4>
<p>Register operands are always prefixed with <code>%</code>. The 80386 registers
consist of
<ul>
<li>the 8 32-bit registers <code>%eax</code> (the accumulator), <code>%ebx</code>,
<code>%ecx</code>, <code>%edx</code>, <code>%edi</code>, <code>%esi</code>, <code>%ebp</code> (the
frame pointer), and <code>%esp</code> (the stack pointer).
<li>the 8 16-bit low-ends of these: <code>%ax</code>, <code>%bx</code>, <code>%cx</code>,
<code>%dx</code>, <code>%di</code>, <code>%si</code>, <code>%bp</code>, and <code>%sp</code>.
<li>the 8 8-bit registers: <code>%ah</code>, <code>%al</code>, <code>%bh</code>,
<code>%bl</code>, <code>%ch</code>, <code>%cl</code>, <code>%dh</code>, and <code>%dl</code> (These
are the high-bytes and low-bytes of <code>%ax</code>, <code>%bx</code>,
<code>%cx</code>, and <code>%dx</code>)
<li>the 6 section registers <code>%cs</code> (code section), <code>%ds</code>
(data section), <code>%ss</code> (stack section), <code>%es</code>, <code>%fs</code>,
and <code>%gs</code>.
<li>the 3 processor control registers <code>%cr0</code>, <code>%cr2</code>, and
<code>%cr3</code>.
<li>the 6 debug registers <code>%db0</code>, <code>%db1</code>, <code>%db2</code>,
<code>%db3</code>, <code>%db6</code>, and <code>%db7</code>.
<li>the 2 test registers <code>%tr6</code> and <code>%tr7</code>.
<li>the 8 floating point register stack <code>%st</code> or equivalently
<code>%st(0)</code>, <code>%st(1)</code>, <code>%st(2)</code>, <code>%st(3)</code>,
<code>%st(4)</code>, <code>%st(5)</code>, <code>%st(6)</code>, and <code>%st(7)</code>.
These registers are overloaded by 8 MMX registers <code>%mm0</code>,
<code>%mm1</code>, <code>%mm2</code>, <code>%mm3</code>, <code>%mm4</code>, <code>%mm5</code>,
<code>%mm6</code> and <code>%mm7</code>.
<li>the 8 SSE registers registers <code>%xmm0</code>, <code>%xmm1</code>, <code>%xmm2</code>,
<code>%xmm3</code>, <code>%xmm4</code>, <code>%xmm5</code>, <code>%xmm6</code> and <code>%xmm7</code>.
</ul>
<p>The AMD x86-64 architecture extends the register set by:
<ul>
<li>enhancing the 8 32-bit registers to 64-bit: <code>%rax</code> (the
accumulator), <code>%rbx</code>, <code>%rcx</code>, <code>%rdx</code>, <code>%rdi</code>,
<code>%rsi</code>, <code>%rbp</code> (the frame pointer), <code>%rsp</code> (the stack
pointer)
<li>the 8 extended registers <code>%r8</code>-<code>%r15</code>.
<li>the 8 32-bit low ends of the extended registers: <code>%r8d</code>-<code>%r15d</code>
<li>the 8 16-bit low ends of the extended registers: <code>%r8w</code>-<code>%r15w</code>
<li>the 8 8-bit low ends of the extended registers: <code>%r8b</code>-<code>%r15b</code>
<li>the 4 8-bit registers: <code>%sil</code>, <code>%dil</code>, <code>%bpl</code>, <code>%spl</code>.
<li>the 8 debug registers: <code>%db8</code>-<code>%db15</code>.
<li>the 8 SSE registers: <code>%xmm8</code>-<code>%xmm15</code>.
</ul>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -