繁体   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