比较 /和 的内容,并恰当地设置状态寄存器的各位
=/,,''
若之前比较过的寄存器内容等同,则跳转到 /,,''
8$8&8$8%&
它们均采用相同的形式,但分别检查不等、小于、大于、小于等于和大于等于
%/8#79
使用 的地址作为保存 /的值的内存地址
88%
它们均采用相同的格式,但分别操作字节、半字和字
对内核进行系统调用
注意到,所有计算值的指令均以第一个操作数作为目标寄存器。在所有这些指令
中,寄存器都仅用数字指定。例如,将数字 >)载入寄存器 的指令是 $8>)。
我们知道,表示一个寄存器,>)表示数字 >),原因在于指令格式 —— 没有
其他指示符。
每条 指令的长度都是 )位。前 位确定具体指令,其他各位根据指
令的不同而具有不同功能。指令长度固定这一事实使处理器更够更有效地处理指
令。但 )位这一限制可能会带来一些麻烦,后文中您将会看到。大多数此类麻
烦的解决方法将在本系列的第 )部分中讨论。
上述指令中有许多都利用了 的扩展记忆法。也就是说,它们实际上是
一条更为通用的指令的特殊形式。例如,上述所有条件跳转指令实际上都是
(%$)指令的特殊形式。指令的形式是 ,8?8
/,,''。?是条件寄存器要测试的位。,有许多有趣的用途,但为简化
使用,若您希望在条件位得到设置时跳转,则将其设置为 >);若希望在条件位
未得到设置时跳转,则将其设置为 。部分重要的条件寄存器位包括:表示小于
的 3、表示大于的 @、表示相等的 >#。因此,指令 =/,,''实际上就是
>)8>#/,,''。类似地,$是 %%的特殊形式,是 的特殊形式。这
些扩展的记忆法有助于使 汇编语言程序更具可读性,并且能够编写出
更简单的程序,同时也不会抵消更高级的程序和程序员可以利用的强大能力。