📄 compare-and-branch-i960.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="Compare-and-branch-i960">Compare-and-branch-i960</a>,
Previous:<a rel="previous" accesskey="p" href="callj-i960.html#callj-i960">callj-i960</a>,
Up:<a rel="up" accesskey="u" href="Opcodes-for-i960.html#Opcodes%20for%20i960">Opcodes for i960</a>
<hr><br>
</div>
<h5 class="subsection">Compare-and-Branch</h5>
<p>The 960 architectures provide combined Compare-and-Branch instructions
that permit you to store the branch target in the lower 13 bits of the
instruction word itself. However, if you specify a branch target far
enough away that its address won't fit in 13 bits, the assembler can
either issue an error, or convert your Compare-and-Branch instruction
into separate instructions to do the compare and the branch.
<p>Whether <code>as</code> gives an error or expands the instruction depends
on two choices you can make: whether you use the <code>-no-relax</code> option,
and whether you use a "Compare and Branch" instruction or a "Compare
and Jump" instruction. The "Jump" instructions are <em>always</em>
expanded if necessary; the "Branch" instructions are expanded when
necessary <em>unless</em> you specify <code>-no-relax</code>--in which case
<code>as</code> gives an error instead.
<p>These are the Compare-and-Branch instructions, their "Jump" variants,
and the instruction pairs they may expand into:
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -