Sha256: fef31e6b4895bfbb644730e002961bcd0233dd306fd7b58416984e90ab68e029

Contents?: true

Size: 863 Bytes

Versions: 396

Compression:

Stored size: 863 Bytes

Contents

.globl difference_of_squares

#
# Compute the difference between the sum of squares.
#
# Variables:
#
# $a0 - given value (as an int)
# $v0 - final value - difference of squares
# $t0 - square of sum
# $t1 - sum of squares

difference_of_squares:

        move    $v0, $zero      # clear result
        move    $t0, $zero      # clear square of sum
        move    $t1, $zero      # clear sum of squares

loop:
        beqz    $a0, done       # if number is zero, we're done
        add     $t0, $t0, $a0   # add number to sum

        mult    $a0, $a0        # square number
        mflo    $t2
        add     $t1, $t1, $t2   # add to sum of squares
        addi    $a0, $a0, -1    # decrement number
        j       loop

done:
        mult    $t0, $t0        # square sum
        mflo    $t0

        sub     $v0, $t0, $t1   # find difference

        jr $ra

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.179 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.178 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.177 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.176 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.175 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.174 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.173 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.172 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.171 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.170 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.169 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.167 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.166 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.165 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.164 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.163 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.162 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.161 tracks/mips/exercises/difference-of-squares/example.mips
trackler-2.2.1.160 tracks/mips/exercises/difference-of-squares/example.mips