作者hijamoya (阿玮)
看板ASM
标题[问题] 如何用组合语言写河内塔
时间Tue Nov 4 14:08:37 2008
用C语言很快就能写出来河内塔的程式....只要用递回就可以了,但是,我将他改成
组合语言之後就会出问题...#include <stdio.h>
#include<stdlib.h>
void hanoi(int n, char A, char B, char C)
{
if(n == 1)
printf("Move sheet %d from %c to %c\n", n, A, C);
else
{
hanoi(n-1, A, C, B);
printf("Move sheet %d from %c to %c\n", n, A, C);
hanoi(n-1, B, A, C);
}
}
int main()
{
int n;
printf("请输入盘数:");
scanf("%d", &n);
hanoi(n, 'A', 'B', 'C');
system("pause");
return 0;
}
这是我写的C语言..要怎麽写成组合语言呢
希望大家帮帮忙/.\
PS:我是用Masm615去编译的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.222.151
1F:推 wowtiger:/Fa 11/04 14:15
2F:→ Nessa1103:看起来需要jmp和标签(@xxx之类的)...上周老师刚敎。 11/04 16:01
3F:→ Nessa1103:不过会很复杂。我学的也是MASM,不过你後面的数字我不懂 11/04 16:02
4F:→ Nessa1103:至於输入四个值再call hanoi的部份等待高手解答~~ 11/04 16:03
5F:→ hijamoya:只要输入一个盘子数的值就行了... 11/04 16:09
6F:→ final01:GOOGLE蛮多范例的吧 Hanoi asm自己选一个喜欢的看看吧 11/04 22:42
7F:推 sunneo:想想C传参数怎麽传的,就可以直接改写为asm了吧 11/05 02:32