有没有人有一个简单的程序,源代码在汇编语言mips和cisc中运行,以解释mips以比cisc更少的cpu周期运行?
简单程序不需要大的
谢谢
答案 0 :(得分:0)
一个简单的例子就是将两个字符串相互比较:
MIPS
; string pointers in $a0 and $a1
more:
ld $r0,($a0)
ld $r1,($a1)
add 1, $a0
add 1, $a1
cmp $r0,$0
je eos
cmp $r1,$0
je eos
cmp $r0,$r1
je more
eos:
cmp $r0, $r1
; cmp result defines whether a0 < a1, a0 == a1, a0 > a1
CISC(英特尔)
; start with strings in edi and esi
more:
cmps (edi), (esi)
loopnz more
; cmps result defines whether a0 < a1, a0 == a1, a0 > a1
我不保证此代码的有效性。但是,我们可以看到CISC与2条指令中的MIPS做同样的事情(尽管初始化可能需要更多的CISC代码......)。但是,他们可能需要大约相同的时间。