设为首页 加入收藏

TOP

MIPS 汉诺塔“编程开发”
2017-11-24 10:48:43 】 浏览:55
Tags:MIPS 汉诺 编程 开发
C语言
#include
   
     void hanoi(char A,char B,char C,int n) { if(n==1) { printf("%c to %c\n",A,C); return ; } else { hanoi(A,C,B, n-1); printf("%c to %c\n",A,C); hanoi(B,A,C,n-1); } } int main() { int n; scanf("%d",&n); hanoi('A','B','C',n); } .data str:.asciiz" to " str1:.asciiz "\n" .text main: li $v0,5 syscall move $s0,$v0 #use $s0 as n li $a0,65 li $a1,66 li $a2,67 move $t9,$s0 jal hanoi j end hanoi: li $t0,1 beq $t9,$t0,print sw $a0,0($sp) subi $sp,$sp,4 sw $a1,0($sp) subi $sp,$sp,4 sw $a2,0($sp) subi $sp,$sp,4 sw $t9,0($sp) subi $sp,$sp,4 sw $ra,0($sp) subi $sp,$sp,4 move $t1,$a1 move $a1,$a2 move $a2,$t1 subi $t9,$t9,1 jal hanoi addi $sp,$sp,4 lw $ra,0($sp) addi $sp,$sp,4 lw $t9,0($sp) addi $sp,$sp,4 lw $a2,0($sp) addi $sp,$sp,4 lw $a1,0($sp) addi $sp,$sp,4 lw $a0,0($sp) sw $a0,0($sp) subi $sp,$sp,4 sw $a1,0($sp) subi $sp,$sp,4 sw $a2,0($sp) subi $sp,$sp,4 sw $t9,0($sp) subi $sp,$sp,4 sw $ra,0($sp) subi $sp,$sp,4 addi $a0,$a0,0 li $v0,11 syscall li $v0,4 la $a0,str syscall move $a0,$a2 li $v0,11 syscall li $v0,4 la $a0,str1 syscall addi $sp,$sp,4 lw $ra,0($sp) addi $sp,$sp,4 lw $t9,0($sp) addi $sp,$sp,4 lw $a2,0($sp) addi $sp,$sp,4 lw $a1,0($sp) addi $sp,$sp,4 lw $a0,0($sp) sw $a0,0($sp) subi $sp,$sp,4 sw $a1,0($sp) subi $sp,$sp,4 sw $a2,0($sp) subi $sp,$sp,4 sw $t9,0($sp) subi $sp,$sp,4 sw $ra,0($sp) subi $sp,$sp,4 move $t1,$a0 move $a0,$a1 move $a1,$t1 subi $t9,$t9,1 jal hanoi addi $sp,$sp,4 lw $ra,0($sp) addi $sp,$sp,4 lw $t9,0($sp) addi $sp,$sp,4 lw $a2,0($sp) addi $sp,$sp,4 lw $a1,0($sp) addi $sp,$sp,4 lw $a0,0($sp) jr $31 print: addi $a0,$a0,0 li $v0,11 syscall li $v0,4 la $a0,str syscall move $a0,$a2 li $v0,11 syscall li $v0,4 la $a0,str1 syscall jr $31 end: li $v0 10 syscall 
   
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言除法”四舍五入“与“进一法.. 下一篇C语言编写一个计算个人所得税的程..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目