📄 mmix-expand.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="MMIX-Expand">MMIX-Expand</a>,
Next:<a rel="next" accesskey="n" href="MMIX-Syntax.html#MMIX-Syntax">MMIX-Syntax</a>,
Previous:<a rel="previous" accesskey="p" href="MMIX-Opts.html#MMIX-Opts">MMIX-Opts</a>,
Up:<a rel="up" accesskey="u" href="MMIX-Dependent.html#MMIX-Dependent">MMIX-Dependent</a>
<hr><br>
</div>
<h4 class="section">Instruction expansion</h4>
<p>When <code>as</code> encounters an instruction with an operand that is
either not known or does not fit the operand size of the instruction,
<code>as</code> (and <code>ld</code>) will expand the instruction into
a sequence of instructions semantically equivalent to the operand fitting
the instruction. Expansion will take place for the following
instructions:
<dl>
<dt><code>GETA</code>
<dd>Expands to a sequence of four instructions: <code>SETL</code>, <code>INCML</code>,
<code>INCMH</code> and <code>INCH</code>. The operand must be a multiple of four.
<br><dt>Conditional branches
<dd>A branch instruction is turned into a branch with the complemented
condition and prediction bit over five instructions; four instructions
setting <code>$255</code> to the operand value, which like with <code>GETA</code> must
be a multiple of four, and a final <code>GO $255,$255,0</code>.
<br><dt><code>PUSHJ</code>
<dd>Similar to expansion for conditional branches; four instructions set
<code>$255</code> to the operand value, followed by a <code>PUSHGO $255,$255,0</code>.
<br><dt><code>JMP</code>
<dd>Similar to conditional branches and <code>PUSHJ</code>. The final instruction
is <code>GO $255,$255,0</code>.
</dl>
<p>The linker <code>ld</code> is expected to shrink these expansions for
code assembled with <code>--relax</code> (though not currently implemented).
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -