翻译一段关于PSP 内部指令的文章片段

来源:百度知道 编辑:UC知道 时间:2024/09/21 23:39:51
The RISC MIPS processor (and R4000 in particular) has an interesting feature: all jump instructions have a "one slot delay
instruction", which means that the instruction just AFTER (in memory) the jump instruction is executed FIRST (in time), and then the
jump. From the point of view of the upper layers though, the call is atomic and if the one slot delay instruction raises an exception, it is
as if the jump had caused it. For example, when looking at MIPS assembler, it is common to see instructions such as "li $a0, 10000",
which in MIPS assembly is a mnemonic for "Load Immediate value 10000 to register argument0”, (remember that up to 4 arguments
can be passed by using registers, not necessarily on the stack) at a memory address just after a Jump call. The following corresponds
to sleep (10000):

jal sleep_func
li $a0, 10000

帮忙翻译翻译 有点点专业 自己翻译不过来了 谢谢了啊~~~

精简指令系统电脑 MIPS 处理器 (和在个别项目中的 R4000) 有一个有趣的特征: 所有的跳跃指导有一 "一位置延迟
指导", 哪一个方法指导仅仅在那之后 (在记忆) 跳跃指导首先 (在时间) 被运行, 然后那
跳跃。 从上面层的观点虽然, 那呼叫是原子的而且如果那一位置延迟指导举起例外, 它是
好像那跳跃有引起它。 举例来说,当看 MIPS 组合器的时候,见到指导,像是 " li$ 一 0,10000" 是通常的,
哪一个在 MIPS 集会是 " 负荷立即的价值 10000 到寄存器争论 0" 的一个记忆术的, (记得达 4个争论
能被经过使用寄存器, 不必然地在那之上堆叠) 在记忆住址仅仅在跳跃之后呼叫。 那下列各项符合
对睡眠:(10000)

jal sleep_func
li$一 0, 10000

精简指令系统电脑 MIPS 处理器 ( 和个别项目的 R4000) 有一个有趣的特征: 所有的跳跃指令有一 " 一个水沟延迟
指令", 意谓指令在跳跃指令之后仅仅被运行第一 (及时), 然后那
跳跃。 从上面的层观点来看虽然,呼叫是原子的,而且如果一个水沟延迟指令举起例外, 它是
好像跳跃已经引起它。 举例来说,当看着 MIPS 组合器的时候, 指令如此是通常的当做 " li$a0,10000",
哪一在 MIPS 集会中是为 "装载立即的价值 10000 登记 argument0" 一个记忆术的,( 达到 4个争论
可能被经过使用寄存器, 不必然地在堆叠上)在一个记忆住址在仅仅之后一次跳跃呼叫。 下列各项符合
睡觉:(10000)

jal sleep_func
li$a0,10000

RISC MIPS处理器(和R4000特别是)有一个有趣的特点: 所有跳越指令有“一槽孔延迟
指示",因此它意味着指示在(在记忆)跳越指令之后首先被执行(及时),然后 跃迁。 从虽则上部层数的观点,电话是原子的,并且,如果