Assembly 检查装配中的sge是否正确

Assembly 检查装配中的sge是否正确,assembly,mips,Assembly,Mips,我是MIPS程序集的新手,我正在尝试检查我的“sge”操作是否返回true或false,这是否是一种有效的检查方法(使用1表示true,使用0表示false) beq,,label不是合法的MIPS指令。真正的MIPS指令只有一个字段用于立即值,如常量或分支偏移量。(一些MIPS汇编器可以将其作为一个组件来实现) 更惯用的写作方式是: sge $t1, $t2, $t3 # $t2 contains c, $t3 contains a # sge sets $t

我是MIPS程序集的新手,我正在尝试检查我的“sge”操作是否返回true或false,这是否是一种有效的检查方法(使用1表示true,使用0表示false)

beq,,label
不是合法的MIPS指令。真正的MIPS指令只有一个字段用于立即值,如常量或分支偏移量。(一些MIPS汇编器可以将其作为一个组件来实现)

更惯用的写作方式是:

  sge    $t1, $t2, $t3    # $t2 contains c, $t3 contains a
         # sge sets $t1 to 1 if $t2>=$t3 otherwise $t1 gets set to 0
  bnez   $t1, $zero, TRUE # goto TRUE if $t1 != 0
         # at this point we know that $t1==0, so we don't need a conditional branch
  b      FALSE 
  sge    $t1, $t2, $t3    # $t2 contains c, $t3 contains a
         # sge sets $t1 to 1 if $t2>=$t3 otherwise $t1 gets set to 0
  bnez   $t1, $zero, TRUE # goto TRUE if $t1 != 0
         # at this point we know that $t1==0, so we don't need a conditional branch
  b      FALSE