فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

پاور پوینت آموزش برنامه نویسی زبان اسمبلی ASSEMBELY

اختصاصی از فایلکو پاور پوینت آموزش برنامه نویسی زبان اسمبلی ASSEMBELY دانلود با لینک مستقیم و پر سرعت .

پاور پوینت آموزش زبان اسمبلی

199اسلاید

روش نوشتن برنامه :

.Iدستور Debug در Dos.

استفاده از Turbo Asembler، Macro Asembler

نکته: پسوند اغلب برنامه ها در windows، .com است. چون فایلها با پسوند .com ، فقط 64 KB از حافظه را اشغال می کنند و باعث می شوند بقیه حافظه در اختیار سیستم عامل قرار گیرد تا برنامه های دیگر، بتوانند اجرا شوند.

; : درهنگام استفاده از tasm، فقط فایل Compile می شود و حق استفاده از هیچ سوئیچی را نداریم و ........

/? : استفاده ازین سوئیچ، باعث می شود فایلی با پسوند .bat ساخته شود که شامل: برنامه بصورت قبل ازobj بطوری که درصورت وجود خطا، خط ها در زیر هر دستور مشخص می باشد. با فهمیدن خطا در فایل اصلی با پسوند .asm خطا زا زفع کرده و دوباره tasm را اجرا می نمائیم.

این سوئیچ باعث می شود یک سری Symbol هایی به فایل .obj , .exe اضافه می شود که هنگام استفاده از TD بتوانیم Source واقعی برنامه خود را مشاهده می نماییم. مکمل این سوئیچ، سوئیچ /v در Tlink می باشد.

/t : اگر از سوئیچ استفاده کنیم در صورتی که فایل با ساختار com نوشته شده باشد، آن را مستقیما به فایل اجرایی با توسعه .com تبدیل می کند.

/v : این سوئیچ در فایلهای اجرایی .exe مورد استفاده قرار می گیرد، و نقش آن به عنوان مکمل سوئیچ /zi در tasm می باشد.

توجه: فایل Test با پسوندهای .exe , .bat , .com  وجود دارد. الویت اجرای فایل Test با پسوندهای ذکر شده به صورت زیر خواهد بود:


دانلود با لینک مستقیم


پاور پوینت آموزش برنامه نویسی زبان اسمبلی ASSEMBELY

تحقیق در مورد آموزش اسمبلی 115 ص

اختصاصی از فایلکو تحقیق در مورد آموزش اسمبلی 115 ص دانلود با لینک مستقیم و پر سرعت .

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 125

 

آموزش اسمبلی

برای یاد گرفتن اسمبلی باید با مبناهای عدد نویسی ، ساختمان داخلی کامپیوتر و برنامه نویسی آشنا باشیم . ما برنامه هایمان را مستقیما با اسمبلر Macro Assembler خواهیم نوشت و گاها از Debugاستفاده خواهیم کرد . بعلاوه چون برنامه های حجیم نخواهیم نوشت قالب اکثر رنامه های ما COM. خواهد بود . برای شروع ابتدا نگاهی به حافظه میکنیم : حافظه و آدرس دهی هر کامپیوتر مبتنی بر 8086 دارای حداقل 640 کیلوبایت حافظه است . این 640 کیلوبایت به قطعات 64 کیلوبایتی تقسیم شده و ما این قطعات را "قطعه " یا Segmentمینامیم . هر سگمنت هم به خانه های تک بایتی دیگری تقسیم شده است . برای بدست آوردن مقدار یک بایت مشخص از حافظه ما باید عد مربوط به سگمنت و همچنین شماره آن بایت در سگمنت ( که آفست Offset نامیده میشود ) را بدانیم . مثلا اگر مقدار مورد نظر در قطعه 0030h(h( یعنی عدد در مبنای 16 است ) و آفست 13C4hباشد ما باید قطعه ای که شماره آن 0030h است را بیابیم و بعد در همان قطعه مقدار باین شماره 13C4 را بخوانیم . برای نمایش این حالت بین عدد سگمنت و آفست علامت (:) قرار میدهیم . یعنی ابتدا عدد مربوط به قطعه را نوشته و سپس عدد آفست را می آوریم : Segment:Offset مثال : 4D2F:َ9000 **همیشه در آدرس دهی ها از اعداد مبنای 16 استفاده میکنیم . | | | | CConvertional | 1 Segment=64K | | | | | Memory | | | | | | | | | | | | | | ثباتها Registers رجیسترها مکان هائی از CPU هستند که برای نگهداری داده ها (DATA) و کنترل اجرای برنامه بکار میروند . ما میتوانیم آنها را مقدار دهی کرده و یا بخوانیم و یا باتغییر محتوای آنها CPU را مجبور به انجام یک پروسه (رویه یا Procedure) کنیم دسته ای از رجیسترها که ما انها را "ثباتهای همه کاره یا همه منظوره " میخوانیم و شامل AX/BX/CX/DX هستند ، برای انتقال مقادیر بین رجیستر ها و CPU بکار میروند.این ثباتها را میتوانیم به هر نحوی تغییر دهیم و مقادیری را به آنهاارسال کنیم . ثباتهای دیگری هم که نام میبریم کاربردهای خاص خودشان را دارند و برای مقدار دهی آنها باید قواعد خاصی (که توضیح خواهیم داد) را بکار بریم . میکند عدد که در این ثبات وجود دارد شماره یک قطعه است و CPU برای یافتن DS : مخفف Data Segment . محل نگهداری متغییرها و ثابتهای برنامه را مشخص مقادیر لازم به آن قطعه مراجعه میکند . CS: مخفف Code Segment است و آدرس قطعه ای که برنامه در آن قرار گرفته را نشان میدهد . ES: این یک ثبات کمکی است و معمولا در آدرس دهی ها شماره قطعه را نگهداری میکند . DIDataIndex:Dبا DS/ESا مرتبط است و عدد آفست را نگهداری میکند . IP: این رجیستر معلوم میکند که برنامه در حال اجرائی که در CS قرار دارد از کدام بایت قطقه (یعنی کدام آفست ) شروع میشود . به همین دلیل همیشه این دو ثبات را با هم و بصورت CS:IP نشان میدهند. و ... تمام رجیسترهای فوق 16 بیتی (دوبایتی ) هستند و اعداد دوبایتی را نگهداری میکنند. ثباتهای همه منظوره به دو نیم ثبات تک بایتی تقسیم میشوند . بایت بالائی ب نماد H و بایت پائینی با نماد L نشان داده میشود . مثلا ثبات AX دارای دو نیم - ثبات AH/AL است : | AH - 8 Bit | AL -8 Bit | تمرین : برای دیدن رجیسترها در DOS، DEBUG، را اجرا کنید و فرمان R را صادر کنید : D:\MASM>DEBUG


دانلود با لینک مستقیم


تحقیق در مورد آموزش اسمبلی 115 ص

دانلود پاورپوینت در مورد اصول اساسی برنامه نویسی به زبان اسمبلی

اختصاصی از فایلکو دانلود پاورپوینت در مورد اصول اساسی برنامه نویسی به زبان اسمبلی دانلود با لینک مستقیم و پر سرعت .

دانلود پاورپوینت در مورد اصول اساسی برنامه نویسی به زبان اسمبلی


دانلود پاورپوینت در مورد اصول اساسی برنامه نویسی به زبان اسمبلی

دانلود پاورپوینت در مورد اصول اساسی برنامه نویسی به زبان اسمبلی

فرمت فایل: پاورپوینت

تعداد اسلاید: 345

 

 

 

 

فهرست

nفصل اول :  نمایش داده ها در کامپیوتر
nفصل دوم :  قسمت های یک سیستم کامپیوتری
nفصل سوم :  استفاده از اسمبلر
nفصل چهارم : دستورالعملهای اساسی 
nفصل پنجم : انشعاب و حلقه
nفصل ششم : روال ها
nفصل هفتم : عملیات رشته ها
nفصل هشتم : سایر حالت های آدرس دهی
nفصل نهم : دستکاری بیت ها
nفصل دهم : وقفه و ورودی / خروجی
nفصل یازدهم : پردازش اسمبلی
nفصل دوازدهم : ماکرو ها و اسمبلی شرطی
nفصل سیزدهم : مثال نمونه

دانلود با لینک مستقیم


دانلود پاورپوینت در مورد اصول اساسی برنامه نویسی به زبان اسمبلی

اصول برنامه‌نویسی اسمبلی

اختصاصی از فایلکو اصول برنامه‌نویسی اسمبلی دانلود با لینک مستقیم و پر سرعت .

اصول برنامه‌نویسی اسمبلی


اصول برنامه‌نویسی اسمبلی

فرمت وُرد

48 صفحه

 

اصول برنامه‌نویسی اسمبلی


CPU تراشه enCorRe دستور پشتیبانی می‌کند. همه برنامه‌ها باید از این 37 دستور استفاده کنند. سیپرس یک مترجم مجانی ارائه می‌دهد که کدهای اسمبلی را که شما می‌نویسید به فایل‌های موضوع، که به منظور برنامه‌ریزی در EPROM تراشه تهیه می‌شوند، تبدیل می‌کند. اگر ترجیح دهید که در C برنامه‌نویسی کنید، سیپریس یک مفسر C نیز پیشنهاد می‌کند.

اگر با برنامه‌نویسی اسمبلی میکروکنترلر آشنایی داشته باشید، برنامه‌نویسی برای enCoRo  نیز مشابه همان است. اما اگر با برنامه‌نویسی در بیسیک و C آشنا هستید، باید بدانید که در برنامه‌نویسی کدهای اسمبلی بسیاری از عملگرهای زبانهای سطح بالا موجود نیست در اینجا دیگر حلقه‌های While یا ‌for یا انواع مختلف متغیرها وجود ندارد. اما برای تراشه‌‌ای مانند enCoRo که به منظور کارهای نمایشی و کنترلی غیر پیچیده طراحی شده است، استفاده از کدهای اسمبلی عملی است. برای برنامه‌های کوتاه، که به سرعت اجرا می‌شوند احتیاجی به خرید مفسر نیست.


اصول برنامه‌نویسی اسمبلی

برنامه‌نویسی اسمبلی شامل یک مجموعه از دستورات است که هر کدام مربوط به کدهای ماشینی هستند که تراشه از آنها پشتیبانی می‌کند. مثلاً دستور iord، که محل io را می‌خواند به کد h29 مربوط است. به جای به خاطر آوردن h 29، شما می‌توانید iord را بنویسید، و مترجم معادل سازی را برای شما انجام خواهد داد. دستور iord همچنین احتیاج به یک عملوند دارد که محل خواندن را مشخص کند. به عنوان مثال 01h iord پورتی با آدرس h 10 را می‌خواند.

زبان برنامه‌نویسی اسمبلی همچنین می‌تواند شامل دایرکتیو[1] و توضیحات باشد. دایرکتیوها دستوراتی هستند که به جای اینکه مربوط به CPU باشند، مربوط به مترجم می‌باشند. دایرکتیوها شما را قادر می‌سازند که محلی از حافظه را مشخص کنید، متغیرهایی تعریف نمایید. در کل، نقشی که مترجم در کنار اجرای دستورات مشخص شده باید ایفا کند را نشان می‌دهند. یک نقطه ویرگول ( : )یا ممیز دوبل ( // ) یک عبارت توصیفی را مشخص می‌کنند که مترجم از آنها چشم‌پوشی می‌کند.

مترجمی که توسط سیپرس ارائه می‌شود، cyasm.exe قابل اجرا در پنجره داس[2] می‌باشد. سیپرس مرجع‌ها و راهنمای استفاده برای کاربرانی را تهیه کرده است که چگونگی استفاده از مترجم را شرح می‌دهد.

مترجم از دو مجموعه دستور مشابه برای CPU‌های سری A و سری‌B پشتیبانی می‌کند. تراشه‌های enCoRo از سری B هستند. تراشه‌های قدیمی‌تر سیپرس، مانند 63001، از سری A بودند و از همة دستورات بجز بعضی از آنها پشتیبانی می‌کنند.

کدهای مترجم

راهنمای کاربران دارای توضیحات کاملی در مورد کد اسمبلی و دایرکتیوهاست و در اینجا برخی از جزئیات آن تکرار می‌شود. جدول 1-8 خلاصه‌ای از کدها می‌باشد و جدول 2-8 خلاصه‌ای از دایرکتیوها را نشان می‌دهد. کدهای ماشین تراشه به 37 دستور ترجمه شده است.


جدول 1-8: متجرم Cyasm از 37 دستور اسمبلی برای enCoRo پشتیبانی می‌کند

نوع دستور

دستور

توضیح

تابعهای منطقی و ریاضی

ADD

اضافه کردن بدون نقلی

ADC

اضافه کردن همراه با نقلی

AND

AND کردن بیتی

ASL

انتقال به چپ منطقی

ASR

انتقال به راست منطقی

CMP

 مقایسه

CPL

متمم کردن آکومولاتور

DEC

کاهش

INC

افزایش

OR

OR کردن بیتی

RLC

چرخش به چپ همراه با نقلی

RRC

چرخش به راست همراه با نقلی

SUB

 تفریق بدون نقلی

SBB

تفریق همراه با نقلی

XOR

OXR بیتی

پرشهای برنامه و کنترلی

GALL

فراخوانی تابع

HALT

اجرای ایست

RETI

بازگشت از وقفه

JACC

 پرش آکومولاتور

JC

پرش در صورتی که نقلی یک باشد

JMP

پرش

JNC

پرش در صورتی که نقلی صفر باشد

JNZ

پرش اگر صفر نباشد

JZ

پرش اگر صفر باشد

RET

بازگشت

XPAGE

صفحه حافظه



[1]- Directive

[2]- Dos


دانلود با لینک مستقیم


اصول برنامه‌نویسی اسمبلی

دانلود تحقیق کامل درمورد برنامه نویسی اسمبلی

اختصاصی از فایلکو دانلود تحقیق کامل درمورد برنامه نویسی اسمبلی دانلود با لینک مستقیم و پر سرعت .

دانلود تحقیق کامل درمورد برنامه نویسی اسمبلی


دانلود تحقیق کامل درمورد برنامه نویسی اسمبلی

 

 

 

 

 

 

لینک پرداخت و دانلود *پایین مطلب*

فرمت فایل: Word (قابل ویرایش و آماده پرینت)

تعداد صفحه :48

 

بخشی از متن مقاله

اصول برنامه‌نویسی اسمبلی

CPU تراشه enCorRe دستور پشتیبانی می‌کند. همه برنامه‌ها باید از این 37 دستور استفاده کنند. سیپرس یک مترجم مجانی ارائه می‌دهد که کدهای اسمبلی را که شما می‌نویسید به فایل‌های موضوع، که به منظور برنامه‌ریزی در EPROM تراشه تهیه می‌شوند، تبدیل می‌کند. اگر ترجیح دهید که در C برنامه‌نویسی کنید، سیپریس یک مفسر C نیز پیشنهاد می‌کند.

اگر با برنامه‌نویسی اسمبلی میکروکنترلر آشنایی داشته باشید، برنامه‌نویسی برای enCoRo  نیز مشابه همان است. اما اگر با برنامه‌نویسی در بیسیک و C آشنا هستید، باید بدانید که در برنامه‌نویسی کدهای اسمبلی بسیاری از عملگرهای زبانهای سطح بالا موجود نیست در اینجا دیگر حلقه‌های While یا ‌for یا انواع مختلف متغیرها وجود ندارد. اما برای تراشه‌‌ای مانند enCoRo که به منظور کارهای نمایشی و کنترلی غیر پیچیده طراحی شده است، استفاده از کدهای اسمبلی عملی است. برای برنامه‌های کوتاه، که به سرعت اجرا می‌شوند احتیاجی به خرید مفسر نیست.

برنامه‌نویسی اسمبلی شامل یک مجموعه از دستورات است که هر کدام مربوط به کدهای ماشینی هستند که تراشه از آنها پشتیبانی می‌کند. مثلاً دستور iord، که محل io را می‌خواند به کد h29 مربوط است. به جای به خاطر آوردن h 29، شما می‌توانید iord را بنویسید، و مترجم معادل سازی را برای شما انجام خواهد داد. دستور iord همچنین احتیاج به یک عملوند دارد که محل خواندن را مشخص کند. به عنوان مثال 01h iord پورتی با آدرس h 10 را می‌خواند.

زبان برنامه‌نویسی اسمبلی همچنین می‌تواند شامل دایرکتیو[1] و توضیحات باشد. دایرکتیوها دستوراتی هستند که به جای اینکه مربوط به CPU باشند، مربوط به مترجم می‌باشند. دایرکتیوها شما را قادر می‌سازند که محلی از حافظه را مشخص کنید، متغیرهایی تعریف نمایید. در کل، نقشی که مترجم در کنار اجرای دستورات مشخص شده باید ایفا کند را نشان می‌دهند. یک نقطه ویرگول ( : )یا ممیز دوبل ( // ) یک عبارت توصیفی را مشخص می‌کنند که مترجم از آنها چشم‌پوشی می‌کند.

مترجمی که توسط سیپرس ارائه می‌شود، cyasm.exe قابل اجرا در پنجره داس[2] می‌باشد. سیپرس مرجع‌ها و راهنمای استفاده برای کاربرانی را تهیه کرده است که چگونگی استفاده از مترجم را شرح می‌دهد.

مترجم از دو مجموعه دستور مشابه برای CPU‌های سری A و سری‌B پشتیبانی می‌کند. تراشه‌های enCoRo از سری B هستند. تراشه‌های قدیمی‌تر سیپرس، مانند 63001، از سری A بودند و از همة دستورات بجز بعضی از آنها پشتیبانی می‌کنند.

کدهای مترجم

راهنمای کاربران دارای توضیحات کاملی در مورد کد اسمبلی و دایرکتیوهاست و در اینجا برخی از جزئیات آن تکرار می‌شود. جدول 1-8 خلاصه‌ای از کدها می‌باشد و جدول 2-8 خلاصه‌ای از دایرکتیوها را نشان می‌دهد. کدهای ماشین تراشه به 37 دستور ترجمه شده است.

برنامه‌نویسی در C

روش دیگر برای نوشتن کد برای این تراشه‌های سیپرس استفاده از مفسر C و محیط ارتقاء آن است.

مزیت‌های C

در مقایسه با برنامه‌نویسی با زبان اسمبلی، استفاده از C چندین مزیت دارد.

  • استاندارد بودن ـ اگر تجربه‌ای در برنامه‌نویسی C داشته باشید، با عبارتهای آن آشنایید و می‌توانید با سرعت بیشتری آغاز کنید. همچنین ممکن است بتوانید از کدهای C  که برای تراشه‌های دیگر نوشته شده‌اند با تغییرات جزئی استفاده کنید.
  • دستورات بیشترـ به جای استفاده از پرشهای ساده، کدهای شما می‌توانند از دستوراتی همچون if…else و case یا for و while … do استفاده کنند.
  • اپراتورهای بیشترـ این مفسر از اپراتورهای ریاضی بیشتری پشتیبانی می‌کند و شما می‌توانید از جمع، تفریق، ضرب، تقسیم و مقایسه‌های گوناگون استفاده کنید.
  • کتابخا‌نه‌ها و مثالها ـ کتابخانه ها می‌توانند با استفاده از توابع معمولی مقدار زیادی در زمان، صرفه‌جویی کنند. کتاب‌خانه‌هایی برای برنامة تراشه مدارهای واسط، میکرووایر، و UART، زمانهای تأخیر، واسط صفحه کلید و LCD و توابع ریاضی وجود دارد. این مثالها شامل کدهای کامل برای صفحه کلید و ماوس می‌باشند.
  • بهینه‌سازی ـ مفسر بهینه‌سازی‌ای به منظور کدها برای فشردگی و سرعت داراست.

اما مشکل آنجاست که باید این مفسر را خریداری نمایید، در حالی که مترجم مجانی می‌باشد.

معماری تراشه

این تراشه ارزان قیمت با طراحی آسان است و به منظور استفاده در ابزارهایی که قصد انتقال بلاک‌های کوچک داده با سرعت متوسط، ساخته شده است و کاربردهای آن در وسایل جانبی استاندارد از قبیل ماوس یا دستگاه‌های نقطه‌یابی دیگر و واحدهای

data-acquisition می‌باشد.

به عنوان مثال، واحدهای data-acquisition ممکن است نتایج خوانده شده از یک حسگر را به صورت متناوب به کامپیوتر بفرستد. پایه‌های I/O تراشه کنترلی می‌تواند به یک تبدیل کننده آنالوگ به دیجیتال که مقادیر خوانده شده از حسگر را به اعداد دیجیتالی تبدیل می‌کند و صل گردد. کامپیوتر میزبان نیز می‌تواند از اتصال USB   برای درخواست آخرین داده‌های خوانده شده استفاده کند یا ممکن است کامپیوتر سیگنال‌هایی را به رله‌ها، موتورها یا دستگاه‌های دیگری که پایه‌های کنترلی I/O تراشه به آن متصل هستند ارسال کند.

به جای تکرار مسائل  موجود در کاتالوگ، به مطالب مهمی که قبل از کار با تراشه باید مورد نظر قرار گیرد توجه کنیم. نکات مشکل و گیج کننده کاتالوگ نیز مورد بحث قرار می‌گیرد.

خصوصیات و محدودیت‌ها

یکی از دلایل انتخاب تراشه 63743، ارزان قیمت بودن آن است. قیمت این تراشه حدود چند دلار در سفارشهای محدود می‌باشد.

تراشه دارای 8 کیلوبایت حافظه برنامه است. با یک بهینه‌سازی، کدهایی که برای پشتبانی از ارتباطات USB لازم است، می‌توانند در یک کیلوبایت جای گیرند و به این ترتیب 7 کیلوبایت باقیمانده می‌توانند برای کاربردهای دیگر استفاده شوند.

یک ابزار ضروری برای ارتقای این تراشه کیت ارتقا می‌باشد که شامل بر ارتقا، مترجم و برنامه‌های اشکال زدایی است. همچنین ممکن است احتیاج به برنامه‌ریز Lo PROM –Hi CY3649 نیز داشته باشید که همه این ابزارها توسط سیپرس در دسترس قرار گرفته است.

63743 برای همه پروژه‌ها مناسب نیست. این تراشه دارای سرعت پایین است که به معنای آن است که شما نمی‌توانید به منظور انتقالهای همزمان و توده‌ای از آن استفاده کنید. و سریعترین زمان تأخیر ممکن دارای انتقال وقفه‌ای، 8 بایت در هر 10 میلی‌ثانیه می‌باشد. برخلاف بعضی از کنترلرهای اولیه، 63743 از انتقال وقفه‌ای خروجی پشتیبانی می‌کند.

درون تراشه

CPU این تراشه یک RISC هشت بیتی است که می‌تواند به حافظه برنامه، RAM، پورت‌ها‌ی I/O همه کاره و البته پورت USB دسترسی داشته باشد. پورت USB در حقیقت یک پورت سوئیچ خودکار است که هر دو واسط USB و PS/2 را برای ماوس و دیگر دستگاه های نقطه‌یابی ممکن می‌سازد. این ویژگی به منظور طراحی دستگاه‌هایی که قابل تطبیق با هر دو باس باشند قرار گرفته است. وقفه‌ها و ریست‌های مختلفی می‌توانند به CPU وقفه بدهند.

حافظه

حافظه داخلی تراشه 63743، شامل هشت کیلوبایت ( از h 0000 تا FFFh 1) از نوع OTP PROM برای ذخیره برنامه و 256 بایت RAM ( از h00 تا FFh) برای ذخیره داده‌های موقتی می‌باشد. 34 بایت رجیستر I/O، هر کدام با وظیفه‌ای تعریف شده، نیز در این تراشه وجود دارد.

سازماندهی حافظه برنامه تراشه، شبیه به میکروکنترلرهای دیگر است. اجرای برنامه از آدرسh 00 آغاز می‌شود. آدرس‌های h00 و h 01 حاوی آدرسی هستند که کد اصلی برنامه از آنجا شروع می‌گردد.

آدرس‌های h02 تا h17 حاوی اشاره‌گرهای وقفه‌ای هستند که وقتی یک از یازده وقفه تراشه اتفاق می‌افتد، آدرسی را که میکروکنترلر باید به آنجا پرش کند مشخص می‌نمایند. در اینجا مثالی از جدول اشاره‌گرهای برنامة تراشه آمده است.

متن کامل را می توانید بعد از پرداخت آنلاین ، آنی دانلود نمائید، چون فقط تکه هایی از متن به صورت نمونه در این صفحه درج شده است.

/images/spilit.png

دانلود فایل 


دانلود با لینک مستقیم


دانلود تحقیق کامل درمورد برنامه نویسی اسمبلی