MIPS 汉诺塔“编程开发”
程序员文章站
2022-03-19 20:24:03
C语言
#include
void hanoi(char A,char B,char C,int n)
{
if(n==1)
{
printf("%c...
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
上一篇: Linux运维工程师必备监控工具详情
推荐阅读
-
韩顺平_PHP软件工程师玩转算法公开课(第一季)01_算法重要性_五子棋算法_汉诺塔_回溯算法_学习笔记_源代码图解_PPT文档整理
-
Go语言实现汉诺塔算法
-
韩顺平_PHP软件工程师玩转算法公开课(第一季)01_算法重要性_五子棋算法_汉诺塔_回溯算法_学习笔记_源代码图解_PPT文档整理
-
c#实现汉诺塔问题示例
-
JAVA数据结构之汉诺塔代码实例
-
Java基于栈方式解决汉诺塔问题实例【递归与非递归算法】
-
java 汉诺塔Hanoi递归、非递归(仿系统递归)和非递归规律 实现代码
-
c#汉诺塔的递归算法与解析
-
java 汉诺塔Hanoi递归、非递归(仿系统递归)和非递归规律 实现代码
-
C4D简怎么做彩色的套环? C4D汉诺塔模型的制作方法