Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ########    Assignment 2 - By Omar Alkersh (400214491) && Shubham Ahuja (400207645)
  2. .data
  3.     list:   .word   128, 10, 23, 12, 128, 9, 220, 46, 128, 5
  4.     n:      .word   10
  5.  
  6. .globl Main
  7. .text
  8.  
  9. Main:
  10.     addi    $v0,    $zero,  5       #syscall for int input
  11.     syscall                         # exec syscall
  12.     add     $a2,    $zero,  $v0     #stores int input in $a2
  13.     la      $a0,    list            #load base address of list
  14.     lw      $a1,    n               #loads 'n' - list length
  15.     jal     COUNT
  16.     add     $a0,    $zero,  $v0
  17.     addi    $v0,    $zero,  1
  18.     syscall
  19.     addi    $v0,    $zero,  10
  20.     syscall
  21.  
  22.  
  23. # $a0 - base address of array
  24. # $a1 - n - length of array
  25. # $a2 - x - number to count in array
  26. COUNT:
  27.     addi    $sp,    $sp,    -4
  28.     sw      $ra,    0($sp)
  29.     addi    $v0,    $zero,  0           #this is res
  30.     addi    $t0,    $zero,  0           #this is i
  31.     L:
  32.         lw      $t1,    0($a0)
  33.         bne     $t1,    $a2,    L2
  34.         addi    $v0,    $v0,    1
  35.         L2:
  36.         addi    $t0,    $t0,    1       #inc i(ndex)
  37.         addi    $a0,    $a0,    4       #go to next element in array
  38.         bne     $t0,    $a1,    L       #loop back if not equal to n
  39.     lw      $ra,    0($sp)
  40.     addi    $sp,    $sp,    4
  41.     jr      $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement