تبليغاتX
UNiComp.iR | Download Direct Tutorials Video , Film | دانلودمستقیم فیلم آموزشی،کتاب،جزوه،مقاله

ماکرواسمبلر 6.11


سلام برای اجرای برنامه های اسمبلی نیاز به یک اسمبلر دارید که من در  برای اجرای برنامه ها همان طور که قبلا گفته بودم از ماکرواسمبلر 6.11 استفاده خواهم کرد  که به MASM6.11 معروف است  می تونید از لینک زیر  این برنامه رو دانلود کنید  حجم  12.85 مگابایت  ، مدت زمان دانلود  یک ساعت و پنجاه و هفت دقیقه می باشد داشتن این نرم افزار اجباری می باشد :

 

http://www.phatcode.net/downloads.php?id=175

موفق باشید

زبان اسمبلی - جلسه دوازدهم


دستور A ( Assemble)

 

با استفاده از این  دستور می توانیم  دستورات اسمبلی 8086 ، یا 8088 ، و 80286  را تایپ  نمائیم تا جهت  اجرای آن دستورات  ، نیازی به اسمبلر  نباشد  . با دستور A می توانیم براحتی برنامه های اسمبلی  خود را در debug بنویسیم  وسپس در فایل COM و EXE ذخیره کنیم . این دستور به صورت زیر به کار می رود :

 

A    [Address]

 

 Address محل شروع کار دستور A را مشخص می کند .

مثال :

 


زبان اسمبلی - جلسه یازدهم


دستور L ( Load)

این دستور برای انتقال سکتورهایی از دیسک به حافظه به کار می رود و به صورت  زیر استفاده می شود  :

]  سکتور2  سکتور1    درایو[  ]آدرس[

آدرس محلی از حافظه را مشخص  می کند که سکتورهای خوانده شده از دیسک باید از آنجا  به بعد ذخیره شوند. درایو  شماره درایوی است که مشخص می کند اطلاعات باید از آن  درایو  خوانده  شوند  شماره  صفر مشخص کننده  درایو A  و شماره  یک مشخص کننده درایو B ، شماره  2  مشخص کننده درایو C و غیره است.

سکتور 1  مشخص کننده اولین سکتوری است که خواندن اطلاعات از روی دیسک باید از آنجا شروع شود.

سکتور 2 مشخص کننده  تعداد سکتور هایی است که با شروع از سکتور 1 باید از روی دیسک خوانده شوند.

مثال :


انواع روشهای مرتب سازی


برنامه ای بنویسید که 1000  عدد تصادفی تولید کند و سپس این اعداد را به روشهای   Bubble sort  و Quick sort و Insertion sort  و Heap sort و Merge sort  و Tree sort  و Radix sort و Shell sort  و Exchange sort  مرتب کرده و سپس در خروجی نمایش دهد.

به علت زیاد بودن کد ها اونها رو به صورت PDF در لینک زیر قرار دادم می تونید از لینک زیر دانلود کنید.

موفق باشید

 

http://www.sendmefile.com/00658019


زبان اسمبلی - جلسه دهم


دستور Q ( Quit)

این دستور برای خروج از برنامه debug بدون ثبت تغییرات اعمال شده به فایل مورد نظر به کار می رود و به صورت زیر استفاده می شود :

 

Q

دستور G  (GO)

این دستور موجب اجرای برنامه ای که توسط debug به حافظه منتقل شده است  می شود و به صورت زیر به کار می رود:

G  [=address] [address]

اگر دستور G  بدون آدرسهای لازم به کار برده شود فایل موجود در حافظه  ، همانطور که در سطح سیستم عامل اجرا می گردد در debug نیز اجرا خواهد شد. اولین آدرس که با علامت "=" شروع می شود ، به debug می گوید که از چه آدرسی  شروع  به اجرای برنامه  بنماید. آدرسهای  بعدی و همچنین اولین آدرس اگر همراه با علامت مساوی ( =)  نباشد ، به عنوان آدرسهای توقف محسوب می شوند که حداکثر تا 10 نقطه توقف قابل تعریف است. پس از اینکه  اجرای برنامه به نقطه توقف رسید ، اجرای  آن متوقف شده و محتویات ثباتها مشابه به حالتی که از فرمان R استفاده شده باشد ، روی صفحه نمایش ظاهر خواهند شد. وقتی اجرای برنامه به یک نقطه توقف رسید ، نقطه  توقف بعدی نادیده گرفته خواهد شد . اگر پس از رسیدن به نقطه توقف از دستور G استفاده کنیم ، اجرای برنامه از این نقطه تا انتهای آن ادامه پیدا می کند.

 

مثال :

G    CS : 7550

دستور فوق موجب اجرای برنامه موجود در حافظه تا آدرس 7550  از ناحیه CS  می شود و سپس محتویات جدید ثباتها را نمایش می دهد.

 


زبان ماشین و اسمبلی - جلسه نهم


برنامه اشکالزدا DEBUG

Debug ابزاری جهت اشکالزدایی ، اجرا و تغییر در برنامه هاست و بیشتر برای کسانی مفید است که با زبان اسمبلی کار می کنند. این برنامه دارای خصیصه هایی است که به آسانی می توان  از آنها  استفاده نمود. بعضی از اعمالی که برنامه debug می تواند انجام دهد عبارتند از :

1-       تست برنامه ها

2-       انتقال  فایلها به حافظه ، مشاهده محتویات آنها و اعمال تغییرات در آنها

3-       اجرای برنامه های  سیستم عامل DOS

4-       خواندن  سکتور هایی از دیسک  و یا نوشتن محتویات جدیدی در آنها

5-        ایجاد و اجرای برنامه های  به زبان اسمبلی

 

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

چون اعداد و ارقام و همچنین انجام محاسبات در debug در مبنای 16  می باشند  ، لذا آشنایی مختصری با چگونگی انجام محاسبات در مبنای 16 ضروری است که دوستان عزیز حتما  تبدیلات و مبناها رو بلدند.

از برنامه debug به صورت زیر استفاده می شود                                                                                              [path 1]   DEBUG   [Path 2]   [File Name]  [Parametring]


زبان ماشین و اسمبلی - جلسه هشتم


چگونه یک برنامه را اسمبل ، لینک و اجرا کنیم

 

کد منبع برنامه می تواند  با هر متن نگاری مثل Notepad یا Edit  وارد شود. کد منبع زبان اسمبلی  معمولا  در فایلی  با پسوند .ASM ذخیره می گردد . برای این بخش ، من فرض کردم که برنامه ای که در بخش نوشتم  به صورت فایلی بنام EXAMPLE.ASM ذخیره گردیده است.

من از اسمبلر ML از MASM 6.1 استفاده می کنم  تا برنامه ها را اسمبل کنم. برای اسمبل کردن EXAMPLE.ASM باید دستور زیر را در پنجره اعلان DOS وارد نمائید بدین صورت :

 

Start -> Run -> Cmd

C:\> ml  /c  /coff  example.asm

با فرض اینکه هیچ اشتباهی  در برنامه وجود ندارد ، پیغامی شبیه به پیغام زیر را مشاهده خواهید کرد :

 

Microsoft  (R) Macro Assembler Version 6.11

Copyright  ©  Microsoft Crop  1981 – 1993  .   All  right   reserved.

Assembling  :  example .asm


زبان ماشین و اسمبلی - جلسه هفتم قسمت دوم


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

 

http://www.sendmefile.com/00657795


زبان ماشین و اسمبلی - جلسه هفتم


ا سلام  بالاخره مقدمات تمام شد از جلسه ی آینده وارد  مبحث برنامه نویسی اسمبلی  می شویم . موفق باشید

لینک دانلود  :

       http://www.sendmefile.com/00657055


زبان ماشین و اسمبلی - جلسه ششم


زبان ماشین و اسمبلی - جلسه ششم

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

 

http://www.sendmefile.com/00656899


زبان ماشین و اسمبلی - جلسه پنجم


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

 

http://www.sendmefile.com/00656254


زبان ماشین و اسمبلی - جلسه چهارم قسمت دوم


به عنوان مثال دستوری مانند 1B37 ( مبنای 16 ) یک دستور از نوع RR می باشد . رمز این دستور 1B  به معنای بار کردن یک ثبات بوسیله  ثبات دیگر است. آدرس عملوند ها 3 و 7 می باشد . اجرای این دستور باعث می شود که محتویات  ثبات 7 در ثبات 3  کپی گردد. پس از اجرای این دستور محتوی ثبات 7  بدون تغییر باقی می ماند.

       

 

 دستورات نوع RX 

 

فرمت این نوع دستورات در شکل زیر نشان داده شده است . اولین عملوند یک ثبات مانند R1  است که  آدرس آن در بیت های 8-11    دستور قرار دارد. دومین عملوند در حافظه  است که آدرسش بوسیله یک ثبات اندیس ، X2 ؛ ( بیتهای 12-15   دستور) یک ثبات پایه ، B2 ، ( بیتهای 16-19 ) و تفاوت مکان  ( بیتهای 20-31  دستور) مشخص می گردد. این نوع دستورات 4 بیت را اشغال می کنند.

 

9tl742.jpg

به عنوان مثال دستور 5B 35 C0  24  یک دستور نوع RX  است . رمز این دستور 5B  به معنی  عمل تفریق است. اولین  عملوند  در ثبات 3 قرار دارد . دومین عملوند را مشترکا X2=5 ، B2=C ، D2=024  مشخص می نمایند. فرض کنید محتوی ثباتهای 5 و C به ترتیب 00000050 و 00007404 باشد آنوقت آدرس دومین عملوند 007478 خواهد بود.

با اجرای این دستور  محتویات  کلمه 007478 ( چهار بایت 747B 007478 ) از محتویات ثبات 3 کم می شود  و حاصل در ثبات 3 قرار می گیرد  . محتوی کلمه ای از حافظه که دومین عملوند آدرس آن را مشخص می کند بدون تغییر باقی می ماند.

 

 

دستورات نوع RS

 

فرمت این دستورات در شکل زیر ارائه شده است. اولین عملوند آن R1 است و آدرس دومین عملوند که در حافظه اصلی قرار گرفته  بوسیله  B2 و D2  مشخص می گردد.  سومین عملوند در ثبات R3    قرار دارد. دستورات  نوع RS  تنها دستوراتی هستند  که دارای سه عملوند  می باشند . البته  دستوراتی از نوع RS وجود دارند  که عملوند  سوم ندارند در این دستورات  بیت های 12-15  ندیده گرفته می شود.

 

oftvgh.jpg

 

به عنوان مثال دستور  9868C024 از نوع RS  می باشد  رمز دستور  ، 98  به معنی بار کردن  متعدد است . اولین عملوند  ثبات 16 است . سومین عملوند  ثبات 8 است . دومین عملوند بوسیله  ثبات پایه C  و تفاوت مکان  024  مشخص  می گردد . اگر محتویات  ثبات C  برابر  00007404 باشد ، آدرس موثر دومین  عملوند 007428 خواهد بود . در اجرای این دستور محتویات  تمام کلمه های متوالی حافظه که از آدرس 007428 شروع می شوند در ثباتهای  6 و 7 و 8  کپی می گردند .

 

 

    Reg6 ß   [ 00  74  28 – 00  74  2B]

Reg7 ß [ 00  74  2C  -- 00  74   2F]

Reg8 ß [ 00  74  30  --  00  74  33]

 

محتویات عملوند دوم که در حافظه قرار دارد  بدون تغییر باقی می ماند .


زبان ماشین و اسمبلی - جلسه چهارم


آشنایی با زبان ماشین در کامپیوتر های آی بی ام 360-370 

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

دستورالعمل ها بر حسب زیر سیستم هائی که سروکار دارند می توان به طریق زیر  دسته بندی نمود :

دستورالعمل های محاسباتی  : این دستورات  اط طریق زیر سیستم کنترل ، دستور اجرای عملی را به قسمت محاسبه و منطق صادر  می کنند.

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

دستورالعمل های  انتقال اطلاعات :  این دستورات با حافظه اصلی سروکار داشته و اطلاعات   را از یک مکان  به مکان دیگر در حافظه منتقل می کند ، که گاهی نیز در حین انتقال تغییر مختصری  در اطلاعات  می دهند.

دستورالعمل های کنترل : این دستورالعمل ها جریان عادی  اجرای دستورات را عوض می کند  و اینکار با تغییری که در کلمه وضعیت  برنامه داده  می شود انجام می گیرد . از انواع  معمول و مهم  دستورالعمل ها ی کنترل  ، دستورات نوع انشعاب شرطی می باشند که اجرای آنها  یک آزمون روی  کلمه وضعیت انجام داده  و سپس بر حسب اینکه نتیجه آزمون چه باشد ، دستورالعمل  بعدی (جریان عادی) و یا  دستورالعمل  دیگری در محل دیگری از برنامه اجرا می گردد. اهمیت این نوع  دستورات در این است  که می توان  بوسیله  آن در برنامه  حلقه تکرار  ایجاد نمود  و همچنین تصمیم گیری کرد. در قسمت بعد نحوه آدرس دادن به عملوند ها را توضیح می دهم .

 


زبان ماشین و اسمبلی - جلسه سوم


فصل دوم  : زبان ماشین

 

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

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

 


زبان ماشین و اسمبلی - جلسه دوم


ادامه فصل اول

نمایش اطلاعات  و ساختار حافظه

سیستم های آی بی ام در اصل کامپیوتر های دودویی هستند که در آنها اعداد و آدرسها به شکل دودویی نمایش داده می شوند  گفتم که یک بیت ، کوچکترین واحد فیزیکی حافظه  است که می تواند رقم صفر و یا یک  را در خود نگهداری نماید. یک گروه 8 بیتی تشکیل یک بایت را می دهد. در این کامپیوتر ها کوچکترین  واحد آدرس پذیر  حافظه را بایت  گویند. هر بایت دارای آدرسی منحصر به فرد است. چون یک بایت  8 بیت است.  بنابراین می تواند  2^8=256  حالت مختلف ، از 0000  0000  و 1111  1111   را نمایش دهد. و نیز قادر است  2 رقم مبنای 16 را در خود نگهداری نماید. به همین دلیل  لیست روخوانی  محتویات حافظه را بصورت  ارقامی مبنای 16 تهیه می نماید.

آدرسها در کامپیوتر های مزبور اعداد 24 بیتی  هستند. در نتیجه ، آدرس عددی بین 0 تا 2^24-1 (16777215) می باشد. این آدرس بندی را آدرس بندی مجازی می نامند. فضای آدرس هر برنامه می تواند از گنجایش  حافظه اصلی بیشتر باشد. برای هر برنامه یک الی چند آدرس توسط سیستم عامل  تهیه شده و بر روی دیسک قرار می گیرد. هنگام اجرای یک برنامه ، قسمتی  از این فضای آدرس توسط سیستم عامل  به داخل حافظه اصلی بار می گردد: نگاشت آدرس مجازی به آدرس واقعی نیز به عهده سیستم عامل می باشد. در بعضی از مدلهای ماشینهای آی بی ام  آدرسها 31 بیتی می باشند. در هر کامپیوتر


ساختار و زبان ماشین- اسمبلی - جلسه اول


برای مشاهده مباحث می تونید از لینک زیر فایل رو که به صورت PDf هستش رو دانلود کنید :

http://www.sendmefile.com/00652764
Search Engine Submission - AddMe