سورس برنامه فاکتوریل 16 بیتی به زبان اسمبلی Assembly
امروز در این پست از وب سایت نوآوران گرمی مرجع پروژه های دانشجویی سورس برنامه فاکتوریل 16 بیتی به زبان اسمبلی Assembly را آماده کرده ایم که نسخه 8 بیتی آن را تقریبا یک سال پیش در سایت قرار داده ایم (از اینجا می توانید مشاهده کنید) بنا به درخواست کاربران گرامی، نسخه 16 بیتی آن نیز ساخته شده است.
فاکتوریل Factorielle یکی از شاخه های ریاضی است که در ترکیبیات کاربرد بسیاری دارد. هر عدد طبیعی در ریاضیات از حاصل ضرب آن عدد در تمام اعداد صحصح کوچک تر از آن به دست می آید.
فاکتوریل عدد n را به صورت !n نشان میدهیم و آن را “ان فاکتوریل” می نامیم. به طور کلی !n میشود:
n! = (n)×(n-1)×(n-2)×(n-3)×(n-4) … (1)
در ادامه قسمت های از سورس برنامه فاکتوریل 16 بیتی به زبان اسمبلی Assembly را می توانید مشاهده کنید.
تکه کد سورس برنامه فاکتوریل 16 بیتی به زبان اسمبلی Assembly:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <span style="color: #ff0000;"><strong>جهت دریافت کد کامل این برنامه از قسمت خرید محصول اقدام کنید</strong></span> PRINT_NUM_UNS PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX ; flag to prevent printing zeros before number: MOV CX, 1 ; (result of "/ 10000" is always less or equal to 9). MOV BX, 10000 ; 2710h - divider. ; AX is zero? CMP AX, 0 JZ print_zero begin_print: ; check divider (if zero go to end_print): CMP BX,0 JZ end_print ; avoid printing zeros before number: CMP CX, 0 JE calc ; if AX<BX then result of DIV will be zero: CMP AX, BX JB skip calc: MOV CX, 0 ; set flag. MOV DX, 0 DIV BX ; AX = DX:AX / BX (DX=remainder). ; print last digit ; AH is always ZERO, so it's ignored ADD AL, 30h ; convert to ASCII code. PUTC AL MOV AX, DX ; get remainder from last div. skip: ; calculate BX=BX/10 PUSH AX MOV DX, 0 MOV AX, BX DIV CS:ten ; AX = DX:AX / 10 (DX=remainder). MOV BX, AX POP AX JMP begin_print print_zero: PUTC '0' end_print: POP DX POP CX POP BX POP AX RET PRINT_NUM_UNS ENDP ten DW 10 ; used as multiplier/divider by SCAN_NUM & PRINT_NUM_UNS. |
سلام پروژه جدید برای سفارش قبول می کنید می تونم جزئیات سفارشو براتون ایمیل کنم من یه بار هم به سایت شما مراجعه کردم یه مشکل کوچولو تو کدنویسی برنامه برام پیش اومده بود شما راهنماییم کردین محبتتونو هیچ وقت فراموش نمی کنم .