Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 186085 Kukolj Milena
- # must compile
- # must contain comments
- # add mask for least significant 16 bits
- # Variables for main
- .data
- .align 2
- mem_addr: .space 4
- size: .space 4
- v1: .space 80
- v2: .space 80
- # Main body
- .text
- main:
- # read the memory address
- li $v0, 5
- syscall
- add $t0, $v0, $zero
- sw $t0, mem_addr
- # read value for array size
- # should check if size > 20 ?
- li $v0, 5
- syscall
- add $t0, $v0, $zero
- sw $t0, size
- # size of array in bytes
- lw $s0, size
- li $t0, 4
- multu $s0, $t0
- mflo $t0
- add $s0, $t0, $zero
- li $t0, 0
- elements_v1:
- # Read element
- li $v0, 5
- syscall
- add $t1, $v0, $zero
- # Store element
- sw $t1, v1($t0)
- addi $t0, $t0, 4
- # Check if array is full
- beq $s0, $t0, done_v1
- j elements_v1
- done_v1:
- # Clear index
- li $t0, 0
- elements_v2:
- # Read element
- li $v0, 5
- syscall
- add $t1, $v0, $zero
- # Store element
- sw $t1, v2($t0)
- addi $t0, $t0, 4
- # Check if array is full
- beq $s0, $t0, done_v2
- j elements_v2
- done_v2:
- end:
- # Exit
- li $v0, 10
- syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement