[title]函数递归——复杂的函数调用[/title]
本节主要讲述的是汇编语言中函数的嵌套调用和递归。
我们先来看递归,因为递归是最复杂的函数嵌套调用,我们只要把递归搞明白了,函数的嵌套调用自然不成问题。
关于汇编语言递归的视频,可以参考Youtube上的这个视频:
在这个教学视频中,以高级语言为例,写出了递归法计算阶乘的代码:
[title]计算n阶乘[/title]
[title]视频讲解[/title]
[title]汇编代码[/title]
.text main: addi $a0, $zero, 4 jal fact #打印 add $a0, $zero, $v0 li $v0, 1 syscall # 宣告主程序结束 li $v0, 10 syscall fact: addi $sp, $sp, -8 sw $a0, 0($sp) sw $ra, 4($sp) slti $t0, $a0, 1 beq $t0, $zero, L1 addi $v0, $zero, 1 addi $sp, $sp, 8 jr $ra L1: addi $a0, $a0, -1 jal fact lw $a0, 0($sp) lw $ra, 4($sp) mul $v0, $a0, $v0 addi $sp, $sp, 8 jr $ra
演示文件:
提示:博客中的视频如果播放卡顿可以在阿里云盘上下载/在线看视频:
「mips18.mp4」https://www.aliyundrive.com/s/tL2Ser7zj9N
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。