我多麼希望明天有太陽,來灼燒我腐爛的夢想
阿新 • • 發佈:2019-01-31
;遞迴求和 INCLUDE Irvine32.inc .code main PROC mov ecx,5 mov eax,0 call CalcSum L1: call WriteDec call Crlf exit main ENDP ;------------------------------------------------------ CalcSum PROC ;Calculates the sum of a list of integers ;Receives: ecx=count ;Returns: eax=sum ;------------------------------------------------------ cmp ecx,0 jz L2 add eax,ecx dec ecx call CalcSum L2: ret CalcSum ENDP end Main
;計算階乘 ; ;int function factorial(int n) ;{; ; if(n==0) ; return 1; ; else ; return n*factorial(n-1); ;} ; ; TITLE CALCULATING A FACTORIAL Include Irvine32.inc .code main PROC push 12 call Factorial ReturnMain: call WriteDec call Crlf exit main ENDP ;--------------------------------------------------------- Factorial PROC ;Calculates a factorial ;Receives:[ebp+8]=n,the number to calculate ;Returns:eax=the factorial of n ;--------------------------------------------------------- push ebp mov ebp,esp mov eax,[ebp+8] cmp eax,0 ja L1 mov eax,1 jmp L2 L1: dec eax push eax call Factorial ReturnFact: mov ebx,[ebp+8] mul ebx L2: pop ebp ret 4 Factorial ENDP END main Factorial ENDP