MIPS İşlemci Programlama İle Dizideki En büyük ve En Küçük Elemanı Bulma
Bu örneğimizde MIPS işlemciler için yapılan örnek programda bir dizi içerisindeki elemanlardan en büyük olanı ve en küçük olanı bularak ekranda gösteren programı yapacağız. Mars programını bu yazının altında bulunan linke tıklayarak indirebilirsiniz. Mars programını açtıktan sonra File-New komutlarını tıklayarak yeni bir program yazma ekranı açınız. Daha sonra aşağıdaki program kodunu programınızda açtığınız yeni sayfa üzerine yapıştırınız. Daha sonra sırasıyla Run-Assambe ve sonrasında Run-Go komutlarını tıklayarak programı çalıştırabilirsiniz.
#Bir dizi içerisindeki en büyük ve en küçük elemanı bulan MIPS programı #www.bilisimkonulari.com .data list: .word 15, 25, 39, 35, 37, 27, 17, 5, 57, 215, 65, 35, 81 # 12 elemanlı dizi size: .word 12 # dizinin eleman sayısı .text main: la $a0, list #$a0=load address of array list lw $a1, size #$a1=12 --number elements li $t2, 0 #en büyük = 0 ilk değer ataması li $t3, 100 #en küçük = 100 ilk değer ataması jal readArray #diziyi yükle li $v0, 10 #çıkış syscall readArray: li $t0, 0 #sayac = 0 li $t1, 0 #location of array = 0 loop: bge $t0, $a1, printout #if $t0 >= $a1 then go to printout lw $a0, list($t1) #$a0 = X(i) blt $a0, $t3, new_min #if list(i) < min j check_max new_min: move $t3, $a0 #min = list(i) dizinin elemanı min den küçükse j update_counter check_max: bgt $a0, $t2, new_max #if list(i) > max j update_counter new_max: move $t2, $a0 #max = list(i) update_counter: addi $t1, $t1, 4 #Every 4 bytes there is an integer in the array addi $t0, $t0, 1 #counter ++ b loop #go to loop ######### routine to print the numbers on one line. .data head1: .asciiz "En büyük eleman: " head2: .asciiz " --- En küçük eleman: " .text printout: la $a0, head1 #load a space: " Max val:" li $v0, 4 #print string syscall li $v0, 1 #integer print move $a0, $t2 #load the max to be printed syscall #execute the print la $a0, head2 #load " küçük değer:" li $v0, 4 #print string syscall li $v0, 1 #integer print move $a0, $t3 #load the min to be printed syscall #execute the print jr $ra #return jr $ra #return
Yukarıdaki program kodunu Mars4_5 programında yazıp derledikten sonra çalıştırdığımızda aşağıdaki gibi bir ekran çıktısı elde ederiz. Mars4_5 programını buradan indirerek kullanabilirsiniz.
Bu Yazıya Tepkin Nedir?
+1
+1
+1
+1
+1
+1
+1
<< Önceki Yazı
Mips basit örnekler, Mips dizi en büyük sayı, Mips dizi en küçük sayı, Mips dizi örnekleri, Mips kod örnekleri, Mips örnekleri, Mips program örnekleri