看板 ASM 關於我們 聯絡資訊
用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
wowtiger:/Fa 11/04 14:15
Nessa1103:看起來需要jmp和標籤(@xxx之類的)...上週老師剛敎。 11/04 16:01
Nessa1103:不過會很複雜。我學的也是MASM,不過你後面的數字我不懂 11/04 16:02
Nessa1103:至於輸入四個值再call hanoi的部份等待高手解答~~ 11/04 16:03
hijamoya:只要輸入一個盤子數的值就行了... 11/04 16:09
final01:GOOGLE蠻多範例的吧 Hanoi asm自己選一個喜歡的看看吧 11/04 22:42
sunneo:想想C傳參數怎麼傳的,就可以直接改寫為asm了吧 11/05 02:32