سورس ضرب دو ماتریس به زبان اسمبلی همراه کد برنامه

  • دوشنبه ۲۵ آذر ۱۳۹۲
  • بازدید 1,296 نفر
  • 1 امتیاز2 امتیاز3 امتیاز4 امتیاز5 امتیاز (313 امتیاز از 81 رای)
    Loading...

zarbmatrix asm سورس ضرب دو ماتریس به زبان اسمبلی همراه کد برنامه

سورس ضرب دو ماتریس به زبان اسمبلی همراه کد برنامه

در این پست از سایت نوآوران گرمی برای شما کاربران عزیز، سورس ضرب دو ماتریس به زبان اسمبلی همراه کد برنامه را آماده کرده ایم که امیدواریم مورد استفاده قرار گیرد.

در این پروژه کاربر ابتدا محتوای ماتریس اول و ماتریس دوم را با اعداد مورد نظر خود پر می کند سپس برنامه این دو ماتریس را به هم ضرب کرده و نتیجه نهایی را در ماتریس سومی قرار میدهد و در نهایت محتوای و یا همان نتیجه رو در خروجی نمایش میدهد. در سورس ضرب دو ماتریس برای راحتی و یادگیری سریع کدها به صورت ماکرو نوشته شده است.

در ادامه می توانید قسمت های از سورس ضرب دو ماتریس به زبان اسمبلی همراه کد برنامه را مشاهد کنید.

تکه کد سورس ضرب دو ماتریس به زبان اسمبلی:

جهت دریافت کد کامل این برنامه از قسمت خرید محصول اقدام کنید
exit    macro ماکرو خروج از برنامه
    mov    ax,4c00h
    int    ۲۱h
endm
;----------------------
gets    macro    str ماکروی گرفتن رشته از کاربر وقرار دادن ان در استر
    pushreg
    lea    dx,str
    mov    ah,0ah
    int    ۲۱h
    popreg
endm
;----------------------
prints    macro    str ماکروی چاپاطلاعات استر
    pushreg
    lea    dx,str
    mov    ah,09h
    int    ۲۱h 
    popreg
endm
;----------------------
getc    macro ماکروی گرفتن کاراکتر از کاربر
    pushreg    
    mov    ah,01h
    int    ۲۱h   
    popreg
endm    
;----------------------
printc    macro    c ماکروی چاپ کاراکتر
    pushreg
    mov    ah,02h
    mov    dl,c
    popreg
endm
;---------------------- 
setvalue macro M,i1,j1,value  مقدار ولیو را در خانه ای و جی ماتریس ام قرار میدهد
  pushreg
  mov cl,i1
  mov ch,j1
  mov row,cl
  mov col,ch 
  pushreg
  call compute_addres
  popreg
  mov di,address
  mov al,value
  mov byte ptr M[di],al
  popreg
endm
;---------------------- 
getvalue macro M,i2,j2,n1  خانه ای و جی ماتریس ام را خوانده و در ان قرار میدهد
  pushreg  
  mov cl,i2
  mov ch,j2
  mov row,cl
  mov col,ch 
  call compute_addres
  mov di,address
  mov cl,byte ptr M[di]  
  mov n1,cl
  popreg
endm 
;----------------------
.model small  انتخاب مدل حافظه ای کوچک
.stack 64   تعریف اندازه پشته برنامه
.data    قسمت داده ها
 strlist1    label    byte  تعریف برچسب برای گرفتن عدد از کاربر
        max1    db    ۱۰
        len1    db    ?
        str1    db    ۱۱    dup('$')     
 str2    db    ۵    dup(' '),'$'     متغیر کمکی برای چاپ عدد    
 num    db    ?
 indexL db 'index[ $'
 indexR db '    ]= $' 
 msgtitle db "                    *************** Zarb Matrix ***************",10,13,10,13,'$' 
 msggetMA db "Please Enter the Matrix A:",10,13,'$'
 msggetMB db 10,13,"Please Enter the Matrix B:",10,13,'$'
 msgprinMC db 10,13,"Result Matrix C:",10,13,'$' 
 newline    db    ۱۰,۱۳,'$'
تعریف ۳ متغیر برای اندیس حلقه در ضرب
 i db 0
 j db 0
 k db 0
 N equ 4   تعریف ثابت برای ابعاد ماتریس
 base       db      N   تعداد بایت استفاده شده در هر سطر
 two        db      ۱   ظرفیت هر خانه
 row db 0   متغیر کمکی برای سطر ماتریس
 col db 0   متغیر کمکی برای ستون ماتریس
 address dw 0   متغیر کمکی برای پبدا کردن ادرس اندیس ماتریس
 n1 db 0
 n2 db 0
 n3 db 0 
 MA db N*N  dup(0)       ;int MA[4,4] تعریف ماتریس
 MB db N*N  dup(0)       ;int MB[4,4] 
 MC db N*N  dup(0)       ;int MC[4,4]  
.code
   main proc far  تابع اصلی برنامه
     mov ax,@data
     mov ds,ax
     ;=========================
     prints msgtitle  چاپ عنوان برنامه
     prints msggetMA  چاپ پیغام
     getmatrix MA  گرفتن اطلاعات ماتریس اول
     prints msggetMB  چاپ پیغام
     getmatrix MB  رفتن اطلاعات ماتریس دوم 
     zarb  ضرب ماتریس اول در دوم و ذخیره در ماتریس سوم   
     prints msgprinMC چاپ پیغام
     printmatrix MC نمایش محتوای ماتریس سوم
     getc
     exit
   main endp   
end main

پروژه ها و آموزش های برنامه نویسی

پروژه ها و آموزش های برنامه نویسی

مشاهده مطالب برنامه نویسی

خوشحال خواهیم شد اگر نظر خودتون رو درباره این مطلب ثبت کنید

خطا!دکمه ریفریش را بزنید
  1. تصویر آواتار کاربر 0
    زیبا حامدزاده شنبه , ۲ بهمن

    سلام پروژه می خوام برای معکوس کردم دوعدد به همراه سورس کدش برای انجامش وقت میدید فقط خواهشا اگه میشه کار منو می تونید زود راه بندازین خیلی عجله دارم . ممنون و متشکر .

لیســــــــت پــــــــروژه های انتشــــــــار نشده ( 22 موضوع )

مشاهده لیست کامل
مشاهده لیست کامل
socket programing آموزش برنامه نویسی آموزش سی شارپ بازی تحت شبکه بازی تحت شبکه برای درس مهندسی اینترنت بازی تحت شبکه به زبان سی شارپ برنامه تحت شبکه با سی شارپ برنامه نویسی ترجمه مقاله ترجمه مقاله شبکه خرید سورس بازی تحت شبکه دانلود بازی تحت شبکه دانلود رایگان پروژه های دانشجویی دانلود سورس برنامه دانلود سورس رایگان دانلود نرم افزار دانلود پروژه دانشجویی دانلود پروژه رایگان دانلود پروژه های دانشجویی دانلود کتاب دانلود کتاب آموزشی دانلود کتاب اموزشی سورس بازی با socket programing سورس رایگان سورس کد بازی تحت شبکه سورس کد بازی تحت شبکه با C# سورس کد بازی تحت شبکه چند نفره سوکت پروگرمین نحوه نوشتن برنامه تحت شبکه نحوه نوشتن برنامه تحت شبکه به زبان سی شارپ پروژه arena پروژه matlab پروژه ns2 پروژه opnet پروژه برای درس مهندسی اینترنت پروژه سیمولینک matlab پروژه مهندسی صنایع پروژه مهندسی صنایع با ارنا پروژه های آماده با OpenGL پروژه های آماده با OpenGL در سی پلاس پلاس پروژه های آماده با ارنا پروژه های آماده برای درس گرافیک کامپیوتری پروژه هوش مصنوعی پروژه پردازش تصویر matlab پروژه پردازش سیگنال matlab