jeudi 9 mars 2017

How to code an if statement in MIPS?

This is the if statement that i'm trying to code in MIPS.

 if (len2 == 0 || len1 != 0 && *arr1 <= *arr2)
 {

      //then code
 }
 else
 {
     //else code
 }

So according to demorgans law, you get this if(len2!=0 && len1==0 || *arr1>*arr2). This what i have so far.

  IF:
  bne $t3, $zero, ELSE #if (len2 !=0) goto ELSE
  beq $t1, $zero, ELSE #if (len1==0) goto ELSE
  slt $t4, $t2, $t0    #t4 = *arr1<*arr2
  bne $t4, $zero, ELSE #if(*arr1 > *arr2) goto ELSE

     #then code here

  j IF
  ELSE:

    #ELSE code here

  j IF

is this right?

Aucun commentaire:

Enregistrer un commentaire