the_king
مدیرکل انجمن
تابع my_function ای که در کد زیر معرفی می کنم، یک عدد دو بایتی را به عنوان پارامتر اول دریافت کرده
و مجموع ارقام و تعداد ارقام آنرا به عنوان پارامتر های دوم و سوم محاسبه می کند :
مثلا در کد زیر مجموع ارقام و تعداد ارقام متغیری با نام number (مثلا عدد 123) محاسبه شده و به ترتیب
در sum و count قرار می گیرد :
و مجموع ارقام و تعداد ارقام آنرا به عنوان پارامتر های دوم و سوم محاسبه می کند :
کد:
[B]my_function[/B] PROC C USES AX BX CX DX SI,
param1:WORD,param2:WORD,param3:WORD
MOV AX, param1
MOV BX, 0
MOV CX, 0
MOV DL, 10
loop_1:
DIV DL
ADD BL, AH
MOV AH, 0
INC CX
CMP AX, 0
JNZ loop_1
MOV SI, param2
MOV [SI], BX
MOV SI, param3
MOV [SI], CX
RET
[B]my_function[/B] ENDP
مثلا در کد زیر مجموع ارقام و تعداد ارقام متغیری با نام number (مثلا عدد 123) محاسبه شده و به ترتیب
در sum و count قرار می گیرد :
کد:
number DW 123
count DW ?
sum DW ?
.
.
.
INVOKE [B]my_function[/B],number,ADDR sum,ADDR count