Laman

Rabu, 03 April 2013

Meload Ukuran Array


Sekarang yang perlu kamu lakukan adalah mendapatkan ukuran atau panjang dari array tersebut. Informasi ini tersimpan di dalam word pertama dari section data. Ingat lagi bahwa section data dimulai dari alamat 0x10000000. Load kepala address nya ke dalam base register kemudian load nilai dari word yang berada di alamat ini (ukuran array) ke dalam register $15.

Setelah itu arahkan base register untuk menunjuk ke entry pertama dari array.

## Registers:
##  $8 -- count                     
##  $9 -- pointer to the array entry
## $10 -- current array entry       
## $11 -- sum of all integers       
## $12 -- sum of negative integers
## $13 -- sum of positive integers
## $14 -- pos. or neg. flag
## $15 -- SIZE of the array

## Initialize
main:    ori      $8,$0,0        #  count = 0
         ori      $11,$0,0       #  sum = 0
         ori      $12,$0,0       #  neg = 0
         ori      $13,$0,0       #  pos = 0

              $9,0x1000     #  point at SIZE
         
              $15,0($9)     #  get SIZE
         
         addiu    $9,$9,    #  point to first entry
         

# while  count < SIZE do
loop: 
         . . . .
   
         j        loop
         sll      $0,$0,0        #  branch delay

        .data
size:   .word  17
array:  .word  12, -1, 8, 0, 6, 85, -74, 23, 99, -30, 30, 95, 4, 7, 10, 28, 14

Quest 10: fill in the blank

Tidak ada komentar:

Posting Komentar