?? 遞歸子程序.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 + -