تابعی برای محاسبه تعداد ارقام و مجموع ارقام در زبان اسمبلی

the_king

مدیرکل انجمن
تابع my_function ای که در کد زیر معرفی می کنم، یک عدد دو بایتی را به عنوان پارامتر اول دریافت کرده
و مجموع ارقام و تعداد ارقام آنرا به عنوان پارامتر های دوم و سوم محاسبه می کند :
کد:
[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
 

جدیدترین ارسال ها

بالا