Advertisement
Guest User

Untitled

a guest
May 1st, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # 186085 Kukolj Milena
  2.  
  3. # must compile
  4. # must contain comments
  5.  
  6. # add mask for least significant 16 bits
  7.  
  8. # Variables for main
  9.     .data
  10.     .align 2
  11.     mem_addr: .space 4
  12.     size: .space 4
  13.     v1: .space 80
  14.     v2: .space 80
  15. # Main body
  16.     .text
  17. main:
  18.     # read the memory address  
  19.     li $v0, 5
  20.     syscall
  21.     add $t0, $v0, $zero
  22.  
  23.     sw $t0, mem_addr
  24.    
  25.     # read value for array size
  26.     # should check if size > 20 ?
  27.     li $v0, 5
  28.     syscall
  29.     add $t0, $v0, $zero
  30.    
  31.     sw $t0, size
  32.        
  33.     # size of array in bytes
  34.     lw $s0, size
  35.     li $t0, 4    
  36.     multu $s0, $t0
  37.     mflo $t0
  38.     add $s0, $t0, $zero
  39.     li $t0, 0
  40.    
  41. elements_v1:
  42.     # Read element
  43.     li $v0, 5
  44.     syscall
  45.     add $t1, $v0, $zero
  46.     # Store element    
  47.     sw $t1, v1($t0)
  48.         addi $t0, $t0, 4
  49.     # Check if array is full
  50.     beq $s0, $t0, done_v1
  51.     j elements_v1  
  52.    
  53. done_v1:
  54.     # Clear index
  55.     li $t0, 0
  56.    
  57. elements_v2:
  58.     # Read element
  59.     li $v0, 5
  60.     syscall
  61.     add $t1, $v0, $zero
  62.     # Store element
  63.     sw $t1, v2($t0)
  64.         addi $t0, $t0, 4
  65.     # Check if array is full
  66.     beq $s0, $t0, done_v2
  67.     j elements_v2
  68.    
  69. done_v2:
  70.  
  71.        
  72. end:
  73.     # Exit
  74.     li $v0, 10
  75.     syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement