2013-05-05 131 views
0

我想在彙編語言motrolla 68K中編碼這個遞歸二分搜索。彙編語言motorola的遞歸二進制搜索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?

回答

0

我發現你可能會考慮在你的代碼審查以下幾點:

  • 你需要傳遞arraybinsearch
  • 這如果array先前排序
  • 只會工作的類型array內容應爲int,與key進行有效比較

ps:請問,你能澄清第二部分嗎?你想把C轉換成Assembly嗎?