遞歸調用子程序html
若是一個子程序直接調用他本身,這種調用稱爲字節遞歸調用,若是一個子程序間接調用本身,這種調用稱爲間接遞歸調用算法
遞歸調用子程序必須採用寄存器或堆棧傳遞參數,遞歸的深度受到堆棧空間的限制函數
下面的子程序遞歸調用實現求階乘spa
;子程序說明 FACT ;功能,計算N! ;入口參數:(AX) = n ;出口參數:(AX) = n! ;說明採用遞歸算法實現求階乘,n不能超過8 FACT PROC PUSH DX MOV DX,AX CMP AX,0 JZ DONE DEC AX 求n-1 CALL FACT MUL DX POP DX RET DONE:MOV AX,1由於0的階乘等於1 POP DX RET FACT ENDP
可重入子程序設計
子程序的可重入是指子程序在中斷後被從新調用,子程序的重入不一樣於子程序的遞歸,衝入是被動行爲,而遞歸是主動行爲,重入前的調用和重入調用每每是不相干的,而遞歸調用這是密切相關code
咱們把能夠從新進入的子程序稱爲可重入子程序,再設計可重入子程序的時候,必須注意如下幾點htm
【1】不能利用約定的存儲單元傳遞參數blog
【2】不能使用約定的存儲單元保存中間值遞歸
可重入函數在之後的設計中會提到,這裏只作通常的瞭解get
版權全部,轉載請註明連接地址:http://www.cnblogs.com/fengdashen/p/3715520.html