2013-05-05 137 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吗?