Assembly 汇编程序motorola68k的递归二进制搜索

Assembly 汇编程序motorola68k的递归二进制搜索,assembly,motorola,Assembly,Motorola,我想用汇编程序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

我想用汇编程序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和低,int Hy/<代码>我会用A5、A4、E..< /P> < P>做同样的事情吗?我发现你在代码中可以考虑的这些点:

  • 您需要将
    数组
    传递到
    bin搜索
  • 仅当
    数组
    先前排序的
  • 数组
    内容的类型应为
    int
    ,以便与
请你澄清一下第二部分好吗?您正在尝试将C转换为程序集吗

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