IsAlpha: # input: $a0 holds the character to test # output: $a0 holds a 1 if the character is a letter and 0 otherwise. blt $a0, 65, NotAlpha # if letter < 'A' bgt $a0, 122, NotAlpha # if letter > 'z' bge $a0, 97, YesAlpha # if letter >= 'a' ble $a0, 90, YesAlpha # if letter &alt;= 'Z' # fall through, 'Z' < letter < 'a' NotAlpha: li $a0, 0 b DoneIsAlpha YesAlpha: li $a0, 1 DoneIsAlpha: jr $ra
for(i=&word; *i!=NULL;i++); return i
sw $fp, -4($sp) addiu $fp, $sp, -4 sw $s1, -4($fp) sw $s2, -8($fp) addiu $sp, $sp, -8
# for(i=&word; move $s1, $a0 StrLenTop: # *i!= NULL; lb $s2, 0($s1) beq $s2, 0, FoundNull # i++) addi $s1, $s1, 1 b StrLenTop FoundNull: # return i move $a0, $s1
lw $s1, -4($fp) lw $s3, -8($fp) addiu $sp, $fp, 4 lw $fp, -4($sp) jr $ra