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

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




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

نام تاپيک: کمک به نوشتن پروژه اسمبلی در قبال شارژ 5000 تومانی

  1. #1
    آخر فروم باز Mehdi.KinG's Avatar
    تاريخ عضويت
    Jul 2008
    محل سكونت
    [ گــلــسـتـان ایـــــران ]
    پست ها
    1,442

    10 کمک به نوشتن پروژه اسمبلی در قبال شارژ 5000 تومانی

    با سلام به خدمت دوستان عزیز
    ببخشید نمیدونستم چطوری این درخواست رو بگم من فردا امتحان دارم ازتون خواهش میکنم اگه کسی میتونه این برنامه رو بنویسه به من کمک کنه من در قبال انجام این کار واسه تشکر از دوست عزیزی که به من کمک کرده یک شارژ 5000 تومانی ( همراه اول & ایرانسل ) هدیه میکنم .
    پروژه : برنامه ضرب ماتریس N x N
    زبان موردنظر : اسمبلی

  2. #2
    آخر فروم باز Mehdi.KinG's Avatar
    تاريخ عضويت
    Jul 2008
    محل سكونت
    [ گــلــسـتـان ایـــــران ]
    پست ها
    1,442

    پيش فرض

    از تمام دوستان عزیزم خواهش میکنم برادرانه که اگه کسی بلده منو کمک کنه 4 نمره واسه یه درس 3 واحده قرار بپره 120 تومن واسه این درس پول دادم خواهش میکنم کمک کنید اگه میدونید سایتهایی دیگه هستند مینویسند بگید منو اگه کسی هست که مینویسه به من معرفی کنید ممنونم از همه شما

  3. #3
    داره خودمونی میشه hosseinriasati's Avatar
    تاريخ عضويت
    Apr 2008
    محل سكونت
    شیراز
    پست ها
    106

    1 Assembly x86

    یه سری به پیغام های خصوصیت بزن

  4. #4
    داره خودمونی میشه hosseinriasati's Avatar
    تاريخ عضويت
    Apr 2008
    محل سكونت
    شیراز
    پست ها
    106

    1 ضرب ماتریس 3*3

    این یه روش خیلی آسون و ابتدایی واسه ضرب دو ماتریس 3*3 هست که درایه هاش توی آرایه های A و B ذخیره شده


    ; A, B, and C are arrays of 9 32 bit words each
    ; i, j, and k are 32 bit words used as loop counters

    mov eax, 2 ; we loop from 2 down to 0
    mov [i], eax
    for_i:

    mov eax, 2 ; same here
    mov [j], eax
    for_j:

    mov eax, [i] ; we multiply i by 3 and add j ...
    mul al, 3
    add eax, [j]
    xor ebx, ebx ; and store a zero at that index ...
    mov [C+eax], ebx ; in the C array
    mov edi, eax ; and we keep the index in edi for later

    mov eax, 2 ; again, we loop down from 2
    mov [k], eax
    for_k:

    mov eax, [k] ; now, we get B[3*k+j] into ebx
    mul al, 3
    add eax, [j]
    mov ebx, [B+eax]

    mov eax, [i] ; and we get A[i*3+k] into eax
    mul al, 3
    add eax, [k]
    mov eax, [A+eax]

    mul eax, ebx ; and we multiply them into edx:eax
    add [C+edi], eax ; we add eax into the sum and toss edx

    dec [k] ; count down the loop index
    jns for_k ; and loop until it is -1

    dec [j] ; same here
    jns for_j

    dec [i] ; same here
    jns for_i
    اینم ضرب ماتریس 2*2





    name "2x2_matrix"

    include "emu8086.inc"

    org 100h ; directive make tiny com file.





    .model small

    .stack 100h

    .data



    size dw 3

    A db ?,?,?,?,?,?,?,?,?

    B db ?,?,?

    C db ?,?,?



    message_a db 10,13,"type the elements of matrix A:$"

    message_b db 10,13,"type the elements of array B:$"

    rez db 10,13,"the result is:$"



    .code

    start:

    mov ax,@data

    mov ds,ax



    mov bx, 0 ;



    read_a:

    ;compare with sizexsize

    mov ax, size

    mul size

    cmp bx, ax

    je reset_counter



    ;display message

    mov dx, offset message_a

    mov ah, 09h

    int 21h



    ;read element

    mov ah, 01h

    int 21h

    sub al, 30h

    mov A[bx], al



    inc bx

    jmp read_a



    reset_counter:

    mov bx, 0

    jmp read_b



    read_b:

    ;compare with size

    mov ax, size

    cmp bx, ax

    je calcul



    ;display message

    mov dx, offset message_b

    mov ah, 09h

    int 21h



    ;read element

    mov ah, 01h

    int 21h

    sub al, 30h

    mov B[bx], al



    inc bx

    jmp read_b



    calcul:

    mov bx,0

    mov cx,0



    for_i:

    mov ax, size

    cmp bx, ax

    je print



    mov al,b.size

    mul bx



    mov al, A[bx+1]

    mov bh, B[bx+1]

    mul bh

    add C[bx], ah



    mov al, b.A[bx+2]

    mov bl, b.B[bx+2]

    mul al

    add C[bx], ah



    mov al, b.A[bx+3]

    mov bl, b.B[bx+3]

    mul al

    add C[bx], ah



    inc bx

    jmp for_i



    print:



    mov dx, offset rez

    mov ah,09h

    int 21h



    mov ax,size

    mul size

    mov cx,ax

    mov ax,0

    mov bx,0



    print_c:



    cmp bx,cx

    je finish



    mov al, C[bx]

    CALL PRINT_NUM



    inc bx

    jmp print_c



    DEFINE_PRINT_NUM

    DEFINE_PRINT_NUM_UNS



    finish:

    ret



    end start



    end

    Last edited by hosseinriasati; 26-06-2011 at 19:01.

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


Thread Information

Users Browsing this Thread

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

User Tag List

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

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