الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج BinarySearch --->>MIPS code

مغلق
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

عندي واجب وهو تحويل هذا الكود الى 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

الرجاء المساعدة اذا كان احد يعرف

لست متواجد بشكل يومي

#2

السلام عليكم

اخى مجدى اعتقد ان سؤالك من تخصص الاخوه فى الدارات الرقمية والمنطقية والميكروكنترولر (المتحكم) لذالك احول السؤال إلى هناك.

والسلام

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…