שאלה 1 מתוך 10
ארבעת הסעיפים הבאים (16.1-16.4) מתייחסים למצב שבו באוגר $a0 מועברת כתובת המערך array, המוגדר בסגמנט הנתונים באופן הבא: .data array: .byte 0xaa,0x56,0x98,0x55 נתונים אלו תקפים לכל סעיפי השאלה. [הערת מנחה בגוף שאלה 16.2, רלוונטית להבנת כל הסעיפים: הפרוצדורה בודקת כמה פעמים חוזרת התבנית של הערך שיש באוגר $a2 מופיעה בכל בית, מתוך $a1 האיברים הנבדקים. היא מחזירה באוגר $v0 את מספר הפעמים המקסימלי, ובאוגר $v1 את האינדקס של איבר זה. במידה ויש כמה איברים מקסימליים יוחזר האינדקס של הנמוך מביניהם.]
נתונה פרוצדורה בשם Colombia. הפרוצדורה מקבלת 3 פרמטרים:
$a0 – כתובת תחילת מערך של ערכים (כל ערך בגודל ביית).
$a1 – N - מספר איברים לבדיקה במערך.
$a2 – ערך כלשהו.
Colombia:
li $v0,0
li $v1,0
li $t2,0
count:
lbu $t0,0($a0)
li $t3,0
loop:
and $t4,$t0,$a2
bne $t4,$a2,CONT
addi $t3,$t3,1
CONT:
srl $t0,$t0,1
bne $t0,$0,loop
bge $v0,$t3,M
move $t5,$t3
move $v0,$t3
move $v1,$t2
M:
addi $a0,$a0,1
addi $t2,$t2,1
bne $a1,$t2,count
jr $raנעביר לפרוצדורה $a1=4, $a2=1 . בנתונים אלו, מה יהיה ערך האוגרים $t4, $t2 בסיום הפרוצדורה?

