我试图在 x86 NASM-Assembly 中实现递归 Ackermann-Peter-Function。函数定义如下:
*a(0;m) = m + 1
*a(n + 1; 0) = a(n; 1)
*a(n + 1;m + 1)) = a(n;a(n + 1;m))
我的问题是我什至无法想象如何正确启动。到目前为止,我只在 Assembly 中递归地实现了“x 的幂”函数。
这是我到目前为止所拥有的:http: //pastebin.com/rsWALyCq(德语提示只要求输入 n 和 m)
我很感谢我能得到的每一点帮助。
--
所以我现在做了 push/pop Statements Symetric,但仍然出现分段错误。我试图调试整个事情,并在第一个案例中放置了一个 Debug-Message。我编译了程序并使用 n=0 和 m=0 进行了尝试,并且没有打印调试消息,所以他甚至没有进入第一种情况。我似乎无法弄清楚为什么他不这样做。
这是我目前的尝试: http: //pastebin.com/D4jg7JGV