[ 登录注册 ]

语言

汇编汉诺塔

2017-07-14 10:10:06 admin 返回上一页

标签:style   class   blog   code   tar   color   

 1 .386 2 .model flat 3 .stack 4096 4 include io.h 5 ExitProcess proto near32 stdcall ExitCode:dword 6 cr equ 0dh 7 lf equ 0ah 8 .data 9 string1 byte "请输入汉诺塔数:" cr lf10 strNum byte 10 dup(?)11 result byte 10 dup( )12        byte cr lf 013 .code14 ;递归时注意:在每一层的递归中,保证ebp基址指针的只是一样的(如果你使用了它)15 Hanoi Proc near3216   push ebp17   mov ebp esp18   mov ecx [ebp+20];得到当前剩余的砖块的数目19   jecxz Finish2021   ;完成n-1块从a柱子借助c柱子移向b柱子22   dec ecx23   push ecx24   pushd [ebp+16]; a25   pushd [ebp+8]; c26   pushd [ebp+12]; b27   call Hanoi28   add esp 16;移除参数 a b c 和砖块数目2930   ;完成a柱子上的最后一块移向c柱子31    mov al [ebp+16];得到a柱子的编号32    mov result al33    mov al -34    mov result+1 al35    mov al >36    mov result+2 al37    mov al [ebp+8];得到c柱子的编号38    mov result+3 al39    output result;输出移动结果4041    ;完成n-1块从b柱子借助a柱子移向c柱子42    mov ecx [ebp+20]43    dec ecx44    push ecx; 得到剩下的盘子45    push [ebp+12]; b46    push [ebp+8]; c47    push [ebp+16]; a48    call Hanoi49    add esp 16;移除参数50 Finish:51     pop ebp;还原ebp指针52     ret ;53 Hanoi Endp5455 _start:56 output string157 input strNum 1058 atod strNum59 push eax;初始化操作60 pushd a61 pushd b62 pushd c63 call Hanoi64 invoke ExitProcess 065 public _start66 end

 

汇编汉诺塔布布扣bubuko.com

汇编汉诺塔

标签:style   class   blog   code   tar   color   


文章来源:http://www.bozhiyue.com/yuyan/2017/0714/1484252.html
返回上一页    返回分类 上一篇:   下一篇:
相关