Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- difference: .asciiz "Array[C]: \n" #store string to difference
- arrayA: .word 10, 3, 7, #Array1 to store the first list
- .word 12, 4, 5
- arrayB: .word 3, 4, 2, #Array2 to store the second list
- .word 3, 2, 1
- arrayC: .space 4 #ArraySum to store the sum of Array1 and Array2
- endl: .asciiz "\n"
- .text
- main:
- la $t1, arrayA #$t1 = address of arrayA
- la $t2, arrayB #$t2 = address of arrayB
- la $t3, arrayC #$t3 = address of arrayC
- li $t4, 0 #setting $t4 = 0; t4 will serve as a counter
- li $s1, 7 #setting $s1 = 10
- li $s2, 3
- li $v0, 4 #printing out strings
- la $a0, difference #print out the actual string
- syscall #system call
- j loop #jump to loop
- loop:
- beq $t4, $s1, final # jesli t4 czyli 0 bedzie sie rownalo 3 to idz do mat
- beq $t4, $s2, mat
- lw $t5, 0($t1) #get value from array cell and store in $t5
- lw $t6, 0($t2) #get value from array cell and store in $t6
- add $t7, $t5, $t6 #add $t5 with $t6 and store it in $t7
- sw $t7, 0($t3) #store $t7 into the address of $t8
- li $v0, 1 #print integer
- move $a0, $t7 #move $t7 into $a0
- syscall #system call
- li $a0, 32 #print the ASCII representation of 32 which is space
- li $v0, 11 #system call for printing character
- syscall #system call
- addi $t1, $t1, 4 #incrementing $t1 by 4
- addi $t2, $t2, 4 #incrementing $t2 by 4
- addi $t4, $t4, 1 #incrementing $t1 by 1
- j loop #go back through the loop
- mat: # printf("\n")
- li $v0, 4
- la $a0, endl
- addi $t4, $t4, 1
- syscall
- j loop #wraca do petli
- final:
- li $v0, 10
- syscall #end the program
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement