簡體   English   中英

匯編器Motorola 68K的遞歸二進制搜索

[英]recursive binary search for assembler motorola 68K

我想在motrolla 68K匯編程序中對此遞歸二進制搜索進行編碼。

int binSearch(int key, int &lo, int &hi) {
if(hi < lo)
   return NOT_FOUND;  //RETURN with V = 1  
int mid = (lo+hi) / 2;
if(key == array[mid])
   return mid;
else if(key < array[mid]) // go left
   return binSearch(key, lo, mid-1); // left
else
   return binSearch(key, mid+1, hi); // right
}

所以我只是想知道我是否正在對int binsearch(int key,int&lo,int &hi)部分進行編碼

任何幫助!! ????????????

link       A6,#0
movem.l    D1,D2-(sp)
move.w     8(A6),D1 *key

如果我想做int&low,int hi ,我會只對A5,A4..ect做同樣的事情嗎?

我發現您可以考慮在代碼中查看以下幾點:

  • 您需要將array傳遞給binsearch
  • 僅當array 先前已排序時才有效
  • array內容的類型應該為int ,以便與key進行有效比較

ps:請您在第二部分澄清一下嗎? 您是否正在嘗試將C轉換為Assembly?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM