.386
.model stdcall, flat
option casemap:none
include msvcrt.inc
includelib msvcrt.lib
.data
format db '%d: %c->%c', 13, 10, 0
tmp dword 41h, 42h, 43h
count dword 0
.code
Hanio proc, A:dword, B:dword, D:dword, n:dword ;C是关键字,只好用D代替了
.if n == 1
inc count
invoke crt_printf, offset format, count, A, D
.else
push ebx
mov ebx, n
dec ebx
invoke Hanio, A, D, B, ebx
inc count
invoke crt_printf, offset format, count, A, D
invoke Hanio, B, A, D, ebx
pop ebx
.endif
ret
Hanio endp
start:
invoke Hanio, tmp, tmp+4, tmp+8, 5;知道为什么Hanio中为什么不直接用n-1了吧
ret;偷懒
end start
win32汇编实现汉诺塔
最新推荐文章于 2020-04-19 23:20:25 发布
本文深入探讨了C语言程序中调用函数的高级技巧,包括参数传递、函数指针、回调函数以及如何高效地使用局部变量和全局变量。通过实例解析,帮助开发者更熟练地掌握C语言的函数调用机制,提高代码的效率和可维护性。
1978

被折叠的 条评论
为什么被折叠?



