# برنامه نویسی سطح پایین > برنامه نویسی اسمبلی خانواده x86 >  راهنمای جهت حل مسئله اسمبلی

## ali_students

با سلام خدمت دوستان

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

سوالای مورد نظر : 

1 - برنامه ای بنویسید که ده عدد 16 بیتی را از پورت 70 گرفته و در حافظه های F0 تا F9 قرار دهد.
2 - برنامه ای بنویسید که اگر مکانی از حافظه خالی باشد آنرا مشخص نماید. ( به استاد که اومده راهنمایی کرده مکان خالی با 20H مشخص شده)

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

یــــا عـــــلـــــی

----------


## Delphi Coder

> با سلام خدمت دوستان
> 
> بنده دوتا سوال دانشگاهی دارم که حقیقتا نمیتونم حلشون کنم. چون به زبان اسمبلی اصلا آشنایی ندارم و تا بحال فقط با C#‎‎‎‎‎ و php کار کردم و واقعا به کمکتون احتیاج دارم ممنون میشم منو یاری کنید.
> 
> سوالای مورد نظر : 
> 
> 1 - برنامه ای بنویسید که ده عدد 16 بیتی را از پورت 70 گرفته و در حافظه های F0 تا F9 قرار دهد.
> 2 - برنامه ای بنویسید که اگر مکانی از حافظه خالی باشد آنرا مشخص نماید. ( به استاد که اومده راهنمایی کرده مکان خالی با 20H مشخص شده)
> 
> ...


خوب اگر در دروس دانشگاهی تدریس میشه قرار هست یاد بگیرید. در اسمبلی 8086 یعنی همین قسمت که پست سوال رو گذاشتید منظور از اسمبلی همان زبان ماشین در pc های مبتنی بر (و یا سازگار با) 8086 هست. در اینجا پورت 70 همون پورت RTC(Real Time Clock) هست که خواندن ده عدد از این پورت به شکلی که در صورت سوال وجود داره بی معنی هست. همینطور نوشتن در آدرس F0 تا F9 هم معنی نداره چون اونجا جدول بردار وقفه هست.
از طرفی زبان اسمبلی هم از خیلی جهات شباهت زیادی به زبانهای سطح بالاتر مثل C نداره باید مشخص بشه در کدوم وادی صحبت میکنیم اسمبلی 16 بیت که معمولا تحت DOS و پیرامون وقفه های dos و bios بحث میشه یا اسمبلی 32 یا 64 بیت تحت ویندوز، اسمبلی تحت لینوکس یا کلا مباحث و دستوراتی که مربوط به protected mode میشه هر کدام تفاوتهای کلی و اساسی باهم دارند و زمان طرح سوال باید مشخص بشن.

----------

