السلام عليكم ورحمة الله وبركاته
عندي واجب وهو تحويل هذا الكود الى MIPS code وبصراحة انا بعدني جديد على هيك شغلات
l= 0;
r =a.length -1;
int x = //العدد المراد البحث عن مكان وجوده
while(r>=l)
{
int midElem = (l+r)/2;
if(a[midElem] == x)return midElem;
else if(x<a[midElem]) r = midElem -1;
else
l = midElem +1;
}
return -1وبحاول اقوم بعمله واجد صعوبة في الضبط في سطر واحد وهو التالي
if(a[midElem] == x)
.text 0x00400000 .globl BinarySearch # for SPIM-Simulator BinarySearch : lw $t0,Field # array a addi $t4,$t0,16 # 16 Bit addi $t1,$zero,1 # a.length subu $t2,$t1,1 # r = a.length-1 addi $t3,$zero,0 # l=0 addi $s1,$zero,3 # the Number x loop : bgt $t3,$t2,exit #if(l>r) go to Exit addu $t6,$t3,$t2 #$t6 = l+r div $t7,$t6,2 # midElem = (l+r)/2 lw $s1,0($t0) # load Field in $t0 ... ... j loop # How can i complete exit: j $31 # End of the Programms .data 0x10000010 Field : .word 4 .word 1,2,3,4 # Sorted Field
الرجاء المساعدة اذا كان احد يعرف