تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: برنامه فاكتوريل به زبان اسمبلي

  1. #1
    اگه نباشه جاش خالی می مونه msaeedd's Avatar
    تاريخ عضويت
    Nov 2006
    پست ها
    458

    8 برنامه فاكتوريل به زبان اسمبلي

    سلام كسي برنامه فاكتوريل به زبان اسمبلي رو داره؟
    فوري فوري
    لازم دارم

  2. #2
    داره خودمونی میشه AQOUA's Avatar
    تاريخ عضويت
    Mar 2010
    محل سكونت
    Tehran
    پست ها
    91

    پيش فرض

    با سلام


    # The same function in C would look something like this
    # int fact(int n)
    # {
    # if (n < 1)
    # return (1);
    # else
    # return (n * fact(n - 1));
    # }



    .data

    input_request: .asciiz "Input the first operand: "
    output1: .asciiz "The result is "
    newline: .asciiz "\n"

    .align 2

    .globl main

    .text

    main:
    # request input from user
    la $a0, input_request
    li $v0, 4
    syscall

    # retrieve input from user
    li $v0, 5
    syscall

    # store user input as first operand
    move $a0, $v0

    # calculate factorial
    jal fact

    # store result
    move $t0, $v0

    # display result
    la $a0, output1
    li $v0, 4
    syscall

    move $a0, $t0
    li $v0, 1
    syscall

    la $a0, newline
    li $v0, 4
    syscall

    # exit program
    li $v0, 10
    syscall

    fact:
    # make room on stack for $ra and $a0
    move $fp, $sp
    addi $sp, $sp, -8

    # store both those registers on the stack
    sw $a0, 0($fp)
    sw $ra, -4($fp)

    # recursive condition
    bgtz $a0, fact_L1
    li $v0, 1
    j fact_return

    # recursive calls
    fact_L1:
    addi $a0, $a0, -1
    jal fact
    addi $fp, $sp, 8
    lw $a0, 0($fp)
    mult $a0, $v0
    mflo $v0
    j fact_return

    # return sequence
    fact_return:
    # restore $ra and $a0 registers
    lw $ra, -4($fp)
    lw $a0, 0($fp)

    move $sp, $fp

    jr $ra

    با تشکر

  3. 2 کاربر از AQOUA بخاطر این مطلب مفید تشکر کرده اند


  4. #3
    اگه نباشه جاش خالی می مونه msaeedd's Avatar
    تاريخ عضويت
    Nov 2006
    پست ها
    458

    پيش فرض

    خيلي ممنون ولي اين اسمبلي نيست كه؟

  5. #4
    داره خودمونی میشه AQOUA's Avatar
    تاريخ عضويت
    Mar 2010
    محل سكونت
    Tehran
    پست ها
    91

    پيش فرض

    خيلي ممنون ولي اين اسمبلي نيست كه؟
    کاربرد زبان اسمبلی در زبان c و شباهت توابع!

    ---------- Post added at 01:45 PM ---------- Previous post was at 01:42 PM ----------

    این یکی به زبان اسمبلی :

    print macro msg

    mov dx,offset msg

    mov ah,09h

    int 21h

    endm



    data segment

    msg1 db "Enter the number:$"

    msg2 db 10,13,"Factorial is:$"

    data ends



    code segment

    assume cs:code,ds:data

    start:mov ax,data

    mov ds,ax

    print msg1

    mov ah,01h

    int 21h

    sub al,48

    mov dl,al

    mov ax,1



    l:mul dl

    dec dl

    cmp dl,0



    JNZ l

    add ax,48

    mov dx,ax

    mov ah,02h

    int 21h

    mov ah,4ch

    int 21h

    code ends

    end start

    با تشکر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •