⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 递归子程序.txt

📁 一些小程序,关于汇编语言中程序的中断的使用,例子中包括字符输出
💻 TXT
字号:
当子程序直接或间接地嵌套调用自身时称为递归调用,含有递归调用的子程序称为递归子程序.

例:求阶乘
        .model small
	.stack 256
	.data
             N dw 3
        result dw ?
	.code
	.startup
	mov bx,N
	push bx	;入口参数:N
	call fact	;调用递归子程序
	pop result	;出口参数:N!
	.exit 0
;计算N!的近过程
;入口参数:压入 N	
;出口参数:弹出 N!
fact 	proc
	push ax
	push bp
	mov bp,sp
	mov ax,[bp+6] ;取入口参数 N
	cmp ax,0
	jne fact1	;N>0,N!=N×(N-1)!
	inc ax	;N=0,N!=1
	jmp fact2
fact1:	dec ax	;N-1
	push ax
	call fact	;调用递归子程序求(N-1)!
	pop ax
	mul word ptr [bp+6]	;求 N×(N-1)!
fact2:	mov [bp+6],ax	;存入出口参数 N!
	pop bp
	pop ax
	ret
fact	endp
        end



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -