Mips和cisc汇编语言

时间:2014-10-15 05:57:37

标签: assembly mips cpu cycle

有没有人有一个简单的程序,源代码在汇编语言mips和cisc中运行,以解释mips以比cisc更少的cpu周期运行?

简单程序不需要大的

谢谢

1 个答案:

答案 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代码......)。但是,他们可能需要大约相同的时间。