作者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