سایت اقدام پژوهی - گزارش تخصصی و فایل های مورد نیاز فرهنگیان
1 -با اطمینان خرید کنید ، پشتیبان سایت همیشه در خدمت شما می باشد .فایل ها بعد از خرید بصورت ورد و قابل ویرایش به دست شما خواهد رسید. پشتیبانی : بااسمس و واتساپ: 09159886819 - صارمی
2- شما با هر کارت بانکی عضو شتاب (همه کارت های عضو شتاب ) و داشتن رمز دوم کارت خود و cvv2 و تاریخ انقاضاکارت ، می توانید بصورت آنلاین از سامانه پرداخت بانکی (که کاملا مطمئن و محافظت شده می باشد ) خرید نمائید .
3 - درهنگام خرید اگر ایمیل ندارید ، در قسمت ایمیل ، ایمیل را بنویسید.
در صورت هر گونه مشکل در دریافت فایل بعد از خرید به شماره 09159886819 در شاد ، تلگرام و یا نرم افزار ایتا پیام بدهید آیدی ما در نرم افزار شاد : @asemankafinet
مرغ عشق (Budgerigar) يكي از اعضا كوچك خانواده طوطيها محسوب ميشود. مهد اين پرنده زيبا استراليا ميباشد.در طول قرن 19 و 20 هزاران جفت از اين پرنده به ساير قارهها آورده شد و خيلي زود توانست جاي خود را به عنوان يكحيوان خانگي محبوب باز كند. رنگهاي زيبا، صداي دلنشين، توانايي تقليد صدا، طبيعت اجتماعي، نگهداري آسان وقيمت ارزان، مرغ عشق را به يكي از محبوبترين پرندگان تبديل كرده است.
خصوصيات مرغ عشق در رنگهاي متنوعي وجود دارد كه از جمله آنها سبز، زرد، آبي و شيري ميباشد. در طبيعت به كمك منقارقوي و شكل انگشتان پاهايش، دو انگشت رو به جلو و دو تا رو به عقب به راحتي از شاخهها بالا ميرود.
مرغ عشق حدودا در 3 ماهگي بالغ ميشود. برجستگي روي قاعده منقار در غالب پرندگان نر بالغ آبي روشن يا بنفشو در ماده بالغ قهوهاي است. البته اين رنگ در نابالغين كاملا مشخص نيست ضمن اينكه هنگام بيماري يا پيري رنگبتدريج كم ميشود.
مرغ عشق ماده در هر نوبت به طور متوسط 4-6 تخم ميگذارد. جوجهها 16-18 روز بعد از تخم بيرون آمده و24-28 روز در لانه ميمانند. در طول اين مدت جوجهها به شدت وابسته به مادر هستند.
خريداري بايد توجه داشت كه مرغ عشق (مانند ساير حيوانات خانگي) حتما بايد از جاي مطمئن خريداري شود. سن مناسببراي خريد 6-7 هفتگي است. هنگام خريد به وضعيت پرها دقت كنيد چرا كه نشانه خوبي از وضعيت كلي پرنده است.در پرنده سالم پرها صاف، شفاف و درخشان ميباشند در حاليكه پرنده بيمار كسل بوده و پرهاي ژوليدهاي دارد. چشمهابايد شفاف، درخشان و فاقد تورم باشند. پاها به راحتي ميله قفس را بگيرند و پرنده در حالت ايستاده زاويه 30 نسبت بهخط قائم داشته باشد. اطراف مخرج طبيعي و پرنده شاداب باشد.
رابطه با انسان و حيوانات خانگي مرغ عشق خيلي زود اهلي شده و به خانه خو ميگيرد. ميتوان به آن ياد داد كه روي انگشت بنشيند (شكل 2). حضورسگ و گربه موجب ناراحتي پرنده ميشود حتي اگر به آن دسترسي نداشته باشند.
پرنده جديد را بايد بتدريج وارد كرد حتي اگر جفت پرنده شما باشد. بهتر است ابتدا در قفسهاي مجزا ولي كنار همباشند (بدون تماس) تا به هم عادت كنند.
مكان قفس: قفس بايد در اتاقي روشن، با هواي مناسب و در جريان (با دماي 1-26 سانتيگراد بدون تغييرات ناگهاني)،بدون دود سيگار و در گوشهاي از اتاق قرار داد تا پرنده احساس امنيت كند. پرنده نبايد در معرض تابش مستقيم خورشيدباشد همچنين آشپزخانه محل مناسبي براي قفس نميباشد چون داراي بخارات مضر است. ارتفاع قفس بهتر استطوري باشد كه پرنده حدودا هم سطح چشمان شما باشد تا كنترل و اهلي كردن آن سادهتر شود. با توجه به اينكه مرغ عشق در شب ساعاتي را ميخوابد در صورتيكه برق روشن است بهتر است روي قفس با پارچهپوشانده شود.
وسايل داخل قفس: وسايل لازم براي قفس شامل ظروف آب، غذا و سنگريزه و قالب معدني (يا كف دريا) ميباشد.اسباب بازي نيز بويژه براي يك پرنده تنها لازم است. كف قفس را ميتوان با روزنامه (رنگي نباشد) يا روزنامه كه روي آن ماسه ريخته شده است، پوشاند. آبخوري لولهاي،براي مرغ عشق مناسب است. جلوي ظروف آب و غذا بايد ميله باشد تا پرنده بتواند بر روي آن بنشيند ضمن اينكهظروف آب و غذا نبايد زير ميلههاي بالايي قفس باشند چر كه با مدفوع پرنده آلوده ميشوند. آب هميشه تازه و تميز بايددر اختيار پرنده باشد. كف قفس بايد هر روز و كل قفس 3-4 روز يك بار تميز شوند.
ميله داخل قفس: ميلههاي چوبي نسبت به پلاستيكي ارجح هستند ضمن اينكه بهتر است قطر ميلهها متفاوت باشد. بهطور كلي قراردادن شاخه درخت بويژه به جاي ميلههاي بالايي قفس مناسبتر است چرا كه پرنده ميتواند از آن بالا رفتهضمنا ناخنهايش نيز ساييده ميشود. براي اين كار ميتوان يك ساقه به قطر 1-1/5 سانتيمتر پيدا كرده كه عاري ازسمپاشي، قارچ و مدفوع پرندگان وحشي باشد سپس برگ و شاخههاي اضافي آن را قطع كرده و داخل قفس قرار داد.
اسباب بازي: مرغ عشق آينه را دوست دارد. ميتوان يك آينه كوچك را داخل قفس قرار داد يا بهتر است يك آينهديواري كنار قفس باشد تا پرنده خود را ببيند. اسباب بازيهاي ديگر مورد علاقه مرغ عشق شامل نردبان، تاب، توپپينگپنگ آويزان و زنگ ميباشند.
مرغ عشق نياز به پرواز آزاد دارد. در صورتيكه پرنده شما به قفس عادت كرده، ميتواند هر روز بيرون بيايد و در اتاقپرواز كند. براي اين كار ابتدا بايد شرايط اتاق كاملا مناسب باشد. در و پنجرهها بسته، بخاريها خاموش و سگ و گربه دراتاق نباشد. آنگاه ميتوان در قفس را باز كرده تا پرنده 20-30 دقيقه بازي كند. پرندهاي كه به قفس خود عادت كرده پس ازاين مدت باز خواهد گشت بويژه اگر به طور منظم براي بازي بيرون آورده شود.
غذاي اصلي مرغ عشق در اسارت و آزادي دانه است. دانهها شمال 2 گروه مهم هستند:
1ـ دانه غلات: كربوهيدرات زياد و چربي كم دارند; مانند ارزن و ذرت.
2ـ دانههاي روغني: چربي زياد و كربوهيدرات كم دارند; مانند تخم آفتابگردان يا تخم كتان. غذاي مناسب مرغ عشق شامل دانه قناري و ارزن ميباشد ولي اين تركيب غذاي كاملي نيست بويژه هنگام توليد مثلو براي بالانس كردن آن اضافه كردن يك دانه روغني (مانند تخم كتان) لازم است. علاوه بر اينها سبزيجات (مانند هويج،كلم)، ميوههاي تازه (مانند سيب، انگور) و نيز مكمل توصيه ميشوند. بايد توجه داشت كه هر نوع تغيير جيره به تدريجانجام شود.
مكمل: دو مكمل مهم براي مرغ عشق سنگريزه (يا شن) و كف دريا ميباشند. پرندگان دانهخوار از جمله مرغ عشقاغلب قبل از خوردن دانه اقدام به خوردن سنگريزه ميكنند. سنگريزه در سنگدان پرنده كمك به شكستن دانه كرده ونقش مهمي در هضم آن دارد. بايد توجه داشت كه سنگريزه آلوده نباشد. كف دريا يك منبع با ارزش كلسيم است ضمناپرنده جوان از آن براي اصلاح منقارش نيز استفاده ميكند. بهتر است در جايي فيكس باشد تا توسط پرنده جابجا نشود.
آب (براي نوشيدن و استحمام)
مرغ عشق به آب كمي نياز دارد ولي آب تازه در ظرف تميز بايد هميشه در دسترس باشد. بهتر است آب هر روزعوض شود. پرنده براي آراستن پرهاي خود نيز نياز به آب دارد. برخي پرندهها براي استحمام ظرف آب را دوست دارند و برخيديگر را ميتوان به آرامي اسپري زد. بايد توجه داشت كه اين كار در يك روز خوب و گرم انجام شود و پرنده قبل ازخوابيدن خود زمان مناسب براي خشك شدن داشته باشد.
براي موفقيت در جوجه گرفتن بايد به موارد زير توجه شود: 1ـ فراهم آوردن شرايط مناسب نگهداري و تغذيه 2ـ قرار دادن جعبه آشيانه (شكل 3): يك محرك براي توليد مثل محسوب ميشود. براي مرغ عشق جعبه آشيانه به اندازه23‚17‚17 سانتيمتر و ورودي به قطر 4-5 سانتيمتر مناسب است. وجود يك ميله جلوي سوراخ ورودي كمك ميكندپرنده نر جفت خود را هنگام خوابيدن روي تخمها بهتر تغذيه كند. بهتر است كف جعبه آشيانه كشويي باشد (مانندشكل) تا تميز كردن آن به سادگي صورت گيرد. ضمنا مرغ عشق تخم را مستقيما روي چوب ميگذارد و نياز به مادهديگري نيست. 3ـ استرس: استرس را بايد به حداقل رساند. صاحبان وسواسي يا فضول كه بطور متناوب داخل جعبه آشيانه را نگاهميكنند و نيز ظاهر شدن شكارچيان مانند گربه اطراف قفس از عوامل مهم استرس محسوب ميشوند. 4ـ نقش تحريك ساير پرندگان: ميتوان 2 جفت مرغ عشق را در قفسهاي مجزا ولي در كنار يكديگر قرار داد. صداي هرجفت ميتواند جفت مقابل را به نشان دادن رفتار توليد مثلي تشويق كند. 5ـ تأثير نور: افزايش تدريجي مدت زمان وجود نور تحريك مناسبي است. فصل جفتگيري مرغ عشق معمولا بهار وتابستان است.
بيماريهاي مهم
رشد بيش از حد ناخنها و منقار: در صورت بروز اين پديده بايد از محلي كه فاقد عروق خوني هستند كوتاه شوند. اگرانجام آن مشكل است به دامپزشك مراجعه كنيد.
سرماخوردگي: نشانههاي اين بيماري تب، كاهش اشتها و حركات مداوم دم است. بيماري در صورت پيشرفت بهذاتالريه منتهي ميشود. علاوه بر درمان دارويي بايد دماي اتاق را تا 27 درجه سانتيگراد بالا برده و ثابت نگه داشت. بهاشتها آمدن پرنده تأثير زيادي در بهبودي دارد بنابراين بايد غذاهاي مورد علاقه پرنده به همراه ويتامين B به آن داده شود.
بيماري پسيتاكوز: اهميت اين بيماري در قابليت انتقال آن از مرغ عشق (و ساير طوطيها) به انسان ميباشد. برايجلوگيري از اين امر، مرغ عشق را از جاهاي كاملا مطمئن خريداري كرده و در صورت مشاهده علائمي چون لاغري،كسالت، ريزش از بيني و اسهال سبز ضمن قطع تماس با پرنده به دامپزشك مراجعه كنيد.
Automationstudio يك طرح نرمافزاري انيميشني و شبيهسازي است. آن در صنعت اتوماتيكي ايجاد كرد راهحلهاي خاصي براي نيازهاي آموزشي و هندسي. نرمافزارهاي Workshop با دقت كمي با نرمافزاري كه عكس عادت متداول در صعنت است متحد شدند و ارتباط پيدا كردند. شبيهسازي سودمند Automationstudio را يك ابزار لايق و كارآمدي براي تصديق فرآيند و برنامههاي اتوماتيكي ساخت.
در محيط Automationstudio تمام ابزارهاي طراحي در دسترس و حاضر و آماده هستند. محتواي هسته سيستم سه فايده (قسمت) دارد:
يكDiagramEditor (ويراستار طرح)، يك ProjectExplorerو يك Library Explorer .
DiagramEditor به شما اجازه ميدهد كه توليد و شبيه سازي كنيد طرحها را معرفي كنيد توليدات را تا زماني كه ProjectExplorer مديريت فايل را كنترل ميكند .و طبقهبندي مي كند همه پوشههايي را كه به شبيهسازي يك پروژه و طرح ارتباط پيدا ميكند. Library Explorer نمونههايي از منابع لازم را براي ايجاد طرحهايي كه صفحه بندي مي كند پروژههاي شما را عرضه ميكند.
سرانجام اين نرمافزار اجازه ميدهد به شما كه پروژهتان را به صورت سند و پوشه درآوريد . شما ميتوانيد چاپ كنيد و صادر كنيد طرحهايتان را همراه با فهرستهاي ارتباطي مختلف و گزارشات به اجتماع يك فايل كاري كامل و واقعي.
حدود (در مورد) Automation Studio :
Automation Studio يك بسته نرمافزاري شبيهسازي است كه به صورت مدلهاي مختلف ممكن قرار داده شده است .
هر مدل همچنين يك Workshop ناميده ميشود. كه شامل يك منبع قطعات ميشود كه شما ميتوانيد انواع مختلفي از مدارها را به عنوان مثال: هيدروليك، هوايي ، الكتريكي و غيره ايجاد كنيد. اين مدارات مي توانند ايجاد شوند و به وسيله خودشان و يا با تركيب كردن با انواع مدارات ديگر. Automation Studio تنظيمات و تصحيحات، شبيهسازي ، فايل و مديريت طرح،چاپ و نمايش عملكردها را كنترل ميكند.
اطلاعات عمومي و كلي:
ارائه اسناد و پوشه كاري Automation Studio يك سبك مقياسي دارد. محتواي راهنماي كاربر، Automation Studio معمولي و رايج (اطلاعاتي در مورد عملكردهاي مهمي از , Library Explorer, ProjectExplorerDiagramEditor در نرمافزارهاي Workshop استاندارد، (هيدروليك،پنماتيك ، كنترلهاي الكتريكي، عددي، طرح هاي درآمده) و چگونگي شبيهسازي ميباشد. براي هر نرمافزار Workshop غير استاندارد شما پيدا خواهيد كرديك راهنماي كاري كه تأمين ميكند اطلاعات مخصوص و معيني كه شامل يك شروع سريع است. راهنمايي كه سرعت كمك ميكند به شما كه آشنا شويد خودتان با عملكردهاي مختلف وابسته به Workshop.
رشته اي از وظايف شرح داده شده در اين بخش و انعكاسي ميدهد از رشته اي كه معمولا در زير است زمانيكه مورد استفاده هسته سيستم مي باشد. در حقيقت در شدت جريان يك پروژه، اغلب تجهيزاتي كه تعدادي مراحل تكرار ميشود يا درباره شروعسازي ميشود تغيير ميدهد و اصطلاح ميسازد. به علاوه اين بخش هاي راهنما تنها به صورت عمومي و كلي از Automation Studio مي باشد و بنابراين عملكردهاي مخصوص در نرماقرارهاي Workshop. در اين پوشه شرح داده نميشوند. (شكل 1-1)
راهنماي كاربر نرمافزار Workshop، مكمل اين راهنماي هسته سيستم است. Workshop. ، پوشه ها را به صورت تئوري و استفاده كردن از نرمافزار را با اجرا و مثال ها شرح و توضيح ميدهد كه بنابراين نرمافزار Workshop.تكنولوژي است كه به آساني قابل فهم ميباشد. رجوع كردن به راهنماي كاري نرمافزارهاي Workshop. براي بدست آوردن اطلاعاتي در مورد عملكردهاي مختلف، اجزاء قطعات و مثالهايي از درخواست نيازها است براي يادگرفتن و استفاده كردن ازAutomation Studio .
همه نيازهاي آموزشي كه استفاده ميشود در عملكردهايي كه شركت دارند در همه نرمافزارهاي Workshop مي توانيد بفهميد در اين راهنماي كاربر به ويژه كه اينها گنجانده شدهاند در محيطهاي , ProjectExplorThe Librany Explorer و DiagramEditor همراه با دستورات و جعبههاي ديالوگشان. آموزشهايي كه لازم و ضروري هستند در شبيهسازي تكنولوژي نرمافزارهاي مختلف Workshop. نيز شرح داده شده است.
آموزشهايي معرفي شدهاند به ترتيبي كه كار بايد اجرا شود. مضمون و محتوا تشكيل داده شده به طوريكه هر مرحله در هر بخش، مرحله بعدي را با دقت فراوان دنبال مدل ميكند. در واقع سيستم Automation Studio اصلي واساسي ميتواند ياد دهد به وسيله تفسير اين راهنما و رشتهاي از فصول كه آنها ارائه شدهاند. براي وظايف ويژه و مخصوص يك Workshop. شما بايد بخوانيد راهنماي كاربر را كه عرضه و تأمين كرده Workshop. مخصوص شما ممكن همچنين اطلاعات لازم را به وسيله مشاور شاخص و فهرست و ضميمه پاياني اين پوشه براي يك خلاصه از داده اشاره شده فراهم كنيد.
اين مهم است كه آيينهاي قراردادي استفاده شده در اين راهنما را بدانيد. آنها براي نشاندادن اطلاعات اين پوشه يك راه ساخت يافته و واضح را معرفي ميكنند اينها همانند آيينهاي قراردادي استفاده شده در راهنماهاي كاربر همه نرمافزارهاي Workshop. مختلف ميباشد.
و به موارد دو اصطلاح قراردادي كه در اين پوشه استفاده ميشود. يكي براي شرايط اتصالي و ارتباطي با استفاده از موس دومي براي استفاده از آيكونها در اين پوشه ميباشد.
1-اشاره به يك گزينه ياعنصر: قراردهيد اشارهگر موس را روي يك عنصري از صفحه
2-كليك كردن: فشار دهيد و بلافاصله رها كنيد شستي موس را، مگر اينكه اشاره به آن طور ديگري باشد. كليك كنيد با شستي چپ موس
3-2 بار كليك كردن: شستي موس را 2 بار به سرعت و به صورت متوالي فشار دهيد . اين عمل و استفاده از شستي چپ موسا نجام مي شود.
4-عمل كشيدن: فشار دهيد و نگه داريد شستي چپ موس را و حركت دهيد نشانگر موس را از يك طرف به طرف دلخواهتان در صفحه
اخطار و راهنمايي:
كمك رايج و معمولي پوشه استفاده كردن از ايكون هايي كه نشان مي دهنده يادداشت هاي مهم و او راهنمايي هايي كه آسان مي كننددستوراتي را كه مي تواند استفاده كند.
اين صل روشهايي اصل و اساسي در حالت و كاربرد واسط و مياني را شرح مي دهد.
* شروع Automation studio
وجود اين تكنيك هاي مختلفي براي شروع Automation studio شما ممكن است انتخاب كنيد شروع دلخواهتان را كه بهترين مناسبت را با نيازتان دارد. بعد از اينكه Automation studio نصب شد يك آيكون آن را در ميز كار ويندوز نمايش مي دهد.
براي شروع Automationstudio:
1-كليك كنيد روي منوي استارت كه قرار گرفته در پايين صفحه
2-انتخاب كنيد قسمت C program
3-انتخاب كنيد قسمت Automationstudio :
4-Commond
نكته: 2 بار كليك كنيد رو ي آيكون Automationstudioكه روي ميزكار و فيروزتان قرارگرفته است.
پنجره مهم Automationstudio بازمي شود كه نشان داده شده درشكل 2-1.
با بازشدن پنجره Automationstudio يك طرح و دياگرام خالي نمايش داده ميشود.
آن همچنين DiagramEditorو ProjectExplor و Library Explorer و نوارابزارهاي پيوسته اش را معرفي ميكند.
محتواي فصل زير را مفصل و جزء به جزء پنجره مهم Automationstudio را شرح ميدهد . در محتواي اطلاعات راهنما، عملكردهاي ظاهرشده در منوها، نوارابزارها و منوهاي pop-up كه به تنهايي شزح خواهند داد و داخل منوها را اشاره خواهند كرد از همه جهت به راهنماي كاربر از سختي زيادي پرهيز شده است.
اين بخش را با شرح مفصلي از ساختمان هر يكي از آيتمهاي پنجره مهم Automationstudio آغاز ميكنيم. آيتم ها در اين پنجره مهم به دو دسته تقسيم ميشوند: (طبق شكل 1-3)
1- استاتيك 2- ديناميك
Aنوار عنوان (استاتيك)
Bنوا منو(استاتيك)
Cنوار ابزارهاي مختلف(استاتيك)
DLibrary Explorer(ديناميك)
EProjectExplor(ديناميك)
Fمثالي از منوي pop- up (ديناميك)
منوي View:
اين منو شامل همه دستوراتي است كه مربوط ميشود به تغيير اصلاح ديد و نظر ميكرد كه ملاك يك طرح است.
Grid اين دستور اجازه ميدهد به كاربر كه كاربرد شبكه را در بردن نمونهها به داخل مكان مورد نظر نمايش ميدهد.
Rulers :اين دستور اجازه ميدهد كه كاربر خطهاي عمودي و افقي را نمايش دهد يا ندهد.
Contactpoints : اين گزينه اجازه ميدهد به كاربر كه نقاط برخورد و اتصال هر نمونه روي طرح را ببيند.
Connection ports: اين گزينه اجازه ميدهد به كاربر كه وضعيت هاي اتصالي هر نمونه را روي طرح ببيند.
Connection ports name: اين گزينه اجازه ميدهد به كاربر كه نام همه وضعيت هاي ارتباطي و اتصالي هر نمونه روي طرح را ببيند.
Component snap: اين گزينه در زمان تطبيق بدست ميآورد نمونههايي از منابع را كه جداسازي خواهند شد در شبكه روي طرح.
منوي Insert: اين منو شامل دستوراتي است كه مربوط به ايجاد عناصر طراحي و فضاي متن در يك طرح ميشود ميباشد. اين منو تنها زمانيكه يك طرح فعال است نمايان و فعال ميباشد.
Line: اين گزينه اجازه ميدهد به كاربر كه خطوط را روي يك طرح استفاده كند.
Rectanye: اين گزينه اجازه ميدهد به كاربر كه مربع و مستطيل را روي يك طرح استفاده و طراحي ميكند.
Arc: اين گزينه اجازه ميدهد به كاربر كه قوسها و كمانها را روي يك طرح استفاده و طراحي كند.
Ellipse: اين گزينه اجازه ميدهد به كاربر كه بعضي ها را در اندازههاي مختلف روي يك طرح طراحي و استفاده كند.
Polygom: اين گزينه اجازه ميدهد به كاربر كه چند ضلعي را در اندازه هاي مختلف روي يك طرح استفاده و طراحي كند.
Text : اين گزينه اجازه ميدهد به كاربر كه فضاي متن را در يك طرح وارد كند.
Picture: اين گزينه اجازه ميدهد به كاربر كه يك JPGو BMP را به شكل عكس در يك طرح وارد كند.
Field: اين گزينه اجازه ميدهد به كاربر كه فضاهاي اتوماتيكي و خودكار حاوي طرحهاي معمولي را وارد كند.
Bill of materials: اين گزينه اجازه ميدهد به كاربر كه در يك طرح يك آگهي از ماده حاوي مقدار و نام حقيقي قطعه را وارد كند.
اين منو شامل همه دستوراتي ميشود كه به تغيير جهتيابي و موقعيت و قسمتبندي عناصر داخل يك طرح مربوط است.
اين منو تنها در زمانيكه يك طرح فعال است، نمايان و مرئي است.
در اين نمونه يك موضوع ميتواند يك نمونه، يك گروه، يا يك مجموعه متعدد و گوناگوني از اين عناصر ميباشد.
اگر مجموعه يك گروه است، تقسيمبندي عملكردها، عملي وقابل اجرا خواهد بود روي محور تقارن و روي محور چرخشي گروه- اگر آن يك مجموعه متعدد و گوناگون است، تقسيم بندي عملكردها عملي و قابل اجرا خواهد بود به صورت مجزا و اختصاصي روي هر عنصر مجموعه.
اين منو شامل دستورات مربوط به شبيهسازي يك پروژه يا نقشه است. شبيهسازي جستو جو ميكند. . شبيهسازي موتوري قسمت انتخاب شده از طرح مدار را تخمين ميزند و رفع ميكند به رفتار و نمونههاي انيميشني عكسالعمل نشان ميدهد.
Normal:
اين گزينه به كاربر اجازه ميدهد كه يك مدار را به روش نرمال شبيهسازي كند. اين روش مطابق با حداكثر سرعت شبيهسازي بدل بر اساس نصب ميباشد.
توانايي نمايش پنجرههاي متعدد و گوناگون به صورت همزمان كه آسان ميكند مبادله اطلاعات بين پنجرههاي باز مختلف روي صفحه شما را كه به صورت باز هستند. در Automationstudio اين قابليت و توانايي يك ابزار تجزيه و تحليل بسيار مفيد براي درخواستهاي زير ميباشد:
1-ارزيابي كردن يك يا چندين طرح در هنگام شبيه سازي.
2-بخشهاي روشن و هايلايت طرح شخصي كه رفتاري مطيع شبيهسازي دارد درباره سود و بهره مخصوص و ويژه است.
اين قسمت زمانيكه كار روي مدارهاي پيجيده شامل طرح هايي در سايز بزرگ يا هنگام شبيه سازي يك پروژه حاوي طرح هاي زياد باشد مفيد است. عكس زير مربوط به يك نمونه اي از چگونگي نمايش يك پنجره چند قسمتي است كه به كاربر اجازه مي دهد و 2 پنجره مختلف را در زمان يكسان ببندد ( شكل 13-3)
Window layout
از اين منو شما مي توانيد طرح باز كردن پنجره ها را در طي جلسه كاريتان سازمان دهي كنيد.
در زير يك شرحي از دستورات مختلف داخل اين منو مي باشد. پنجره هاي راهنماي كاربر را براي اطلاعات بيشتر روي تشكيلات پنجره ها مي بينيد.
منوي windows شامل دستوراتي است كه تشكيلات پنجره ها و دو نسخه اي كردن نمايش پنجره هاي مخصوص مربوط مي شود ( شكل 14-3)
Newview: اين گزينه به كاربر اجازه مي دهد كه پنجره جديدي را باز كند كه منظره هاي مختلفي از طرح معمولي را نشان مي دهد.
Close all windows : اين گزينه اجازه مي دهد به كاربر كه همه پنجره هاي پروژه هاي معمولي را ببندد.
Display اين گزينه به كاربر اجازه مي دهد كه برنامه هاي سودمند مختلف را براي مديريت نمايش دهد.
Automation studioمانند نوارهاي ابزار كاربر محكي كه در كار درخواست مي شود مفيد و خوب مي باشد.
Tool bars: اين دستور اجازه مي دهد به كاربر كه نوارهاي ابزار نمايش داده شده روي صفحه را انتخاب كند و بخش نوارهاي ابزار را كه بيشتر حدود همه نوار ابزارها را پيدا مي كند را ببيند.
براي نمايش دادن يا مخفي كردن يك نوار ابزار انتخاب كنيد
Windowè displayè toolbars
سپس نواز ابزار را كنترل كنيد يا نكنيد اين گزينه همچنين به واسطه كليد F6 يا به واسطه يك منوي popup فراهم و در دسترس است. هنگاميكه اشاره گر موس در مكاني روي نواز ابزار مي باشد تحريك كنيد يك نوار ابزار را كليك كنيد روي آن و بدون اينكه شستي موس را رها كنيد حركت دهيد موس را در مكاني كه مي خواهيد نوار ابزار قرار گيرد. طرح نوار ابزار شامل همه شستي هايي كه مطابق است با بيشترين دستورات مورد استفاده در poojeef explorer، diagram explorer مي باشد. نوار ابزار خود كار در عملكرد سودمند خود را ميزان مي كند. زمانيكه گزينه غير فعال است رنگ شستي آن تيره است و بنابر اين غير قابل استفاده مي باشد.
محتواي نوار ابزار در گزينه هاي زير بيان شده است ( شكل 18-3)
Newproject ايجاد يك طرح جديد
Open باز كردن يك طرح فعلي
Save ذخيره يك پروژه معمولي و رايج
Print پرينت گرفتن از مطلب مورد نظر
Newreport ايجاد يك آگهي از مطلب bom يا نوعي گزارش مجزا از پوشه ها
New SFC ايجاد يك SFC جديد. اين گزينه يك نمونه غير استاندارد است كه مي تواند سودمند باشد تنها اگر اجازه آن صادر شود.
Project explorer پنجره مربوط به خودش را باز و بسته مي كند
Library explorer پنجره مربوط به خودش را باز و بسته مي كند
Variable explore پنجره مربوط به خودش را باز و بسته مي كند
اين نوار ابزار در طرح editor ظاهر مي شود به وسيله default تنها اگر يك طرح فعال باشد محتواي نوار ابزار در گزين هاي زير بيان شدهاست. ( شكل 19-3) به علت سادگي از آن صرف نظر مي شود.
Simulation toolbar
اين نوار ابزار حاوي شستي هاي زير مي باشد ( 20-3)
Normal يك مدار را با سرعت نرمال شبيه سازي مي كند
Stepby step شبيه سازي مي كند يك مدار را جايي كه هر كليك موس مطابق با يك سيكل باشد
Slow mation شبيه سازي مي كند يك مدار را با سرعت خيلي آهسته
Pauseمانع شبيه سازي مي شود.
Stop متوقف مي كند شبيه سازي را
Project simulation همه طرح هاي پروژه معمولي و رايج را زمانيكه شبيه سازي راه انداخته مي شود انتخاب مي كند
Document simulation طرح معمولي را زمانيكه شبيه سازي به راه مي افتد انتخاب مي كند
Selection simulation آيتم هاي برگزينه را زمانيكه شبيه سازي به راه مي افتد انتخاب مي كند
Select item to simulate جعبه ديالوگ طرح ها را براي شبيه سازي كردن پروژه رايج و معمولي باز مي كنمد
اين نوار نوع منوها و دستورات را نمايش مي دهد زمانيكه به وسيله كاربر انتخاب مي شود. آن محتواي اطلاعات مختلف است را نمايش مي دهد. به روش معمولي. حالت ويژه كليدهاي may, num, DEF INS به علاوه در طرح editor به كاربر روي محل اشاره گر در طرح اطلاع مي دهد. (اطلاعات زير نشان داده مي شود در جهت دست راست نوار وضعيت ( شكل 25-3)
St xx.xx:xx.xx زمان گذشته از شروع شبيه سازي
X=xxx,y=yyy تعيين مي كند اشارهگر را در طرح
X%نشان مي دهد عامل بزرگ نمايي را كه به طور معمول در طرح استفاده مي شود
(طرح و نقشه كش) به كاربر اجازه مي دهد كه سير تكاملي در زمان را با متغيرهاي مختلف در يك پنجره گرافيك در طي شبيه سازي مي ببنيد. چندين قطعه مختلف متغير مي توانند به صورت همزمان در يك تك نمودار ديده شوند. يك plotter در پروژه ذخيره است.
تابش هاي UV سبب افزايش سرطان در حيوانات اهلي نيز مي باشند . تومورهاي پوستي در برخي از حيوانات اهلي و غذايي از قبيل گربه، سگ، گاو و بز مشاهده شده است و احتمال مي رود كه نور خورشيد سبب رشد تومور باشد. احتمال مي رود سرطان هاي مربوط به لايه هاي خارجي چشم در حيوانات با ميزان تابش UV مرتبط باشد. تابش UV بر ر وي عفونت ها، افزايش قابليت ابتلا به بيماري عفوني، سركوب واكنش هاي ايمني تاثير دارد. تابش UV از تكامل يا رشد سيستم ايمني موش ها در مقابل عفونت هاي گوناگون ممانعت به عمل مي آورد.
افزايش زمان در معرض قرارگيري UV- B به توليد مثل ماهيان و دوزيستان صدماتي وارد مي كند . تخم ها و لاروها اغلب نسبت به تابش هاي UV حساسند و ميزان از تخم درآمدن نوزادان قورباغه و وزغ زماني كه به مقدار زيادي در معرض UV- B قرار گيرند كاهش مي يابد . اين اثرات به نوبه خود توليد مواد غذايي در اكوسيستم هاي آبي را تحت تأثير قرار داده و منجر به از بين رفتن جمعيت شكارچيان حشرات ناقل مي شود كه عامل انتشار برخي بيماري هاي مسري خواهند شد .
حيوانات اهلي شبيهسازي مي شوند
شركتهاي آمريكايي اعلام كردند كه در سال جاري شبيهسازي شده به بازار واردميكنند.
به گزارش بخش خبر سايت اخبار فنآوري اطلاعات ايران ، به نقل ازايسنا، قرار است در ابتدا اين شركتها گربههاي شبيهسازي شده را به بازار واردكنند كه گفته ميشود قيمت هر يك از آنها ٥٩١/٤٠ يورو است.
در فوريهي ٢٠٠٢،يك گربه براي اولين بار شبيه سازي شد كه نام آن ”سي.سي“ بود و در حال حاضر نيزكاركنان شركت سازندهي اين گربه در حال شبيهسازي سگ هستند.
بن كارلسون، يكي ازمسوولان يك شركت آمريكايي گفت: شبيهسازي حيوانات اهلي دوست داشتني با تقاضاي زياديروبرو شده و بسياري از صاحبان حيواناتي كه حيوان خود را از دست دادهاند، خواستارساختن شبيه آن هستند و يا بعضي از متقاضيان خواستار وجود تغييراتي مانند گذاشتندندان در پاهاي حيوانات خود هستند.
سازمانهاي حمايتي، با شبيهسازي حيواناتمخالفت كردهاند و هشدار دادهاند كه در صورت اقدام به چنين كاري سالانه ١٧ ميليونحيوان بيصاحب در آمريكا وجود خواهد داشت.
گسترش استفاده از حيوانات اهلي براي التيام روحي معلولان درژاپن
در ژاپن استفاده از حيوانات اهلي همچون سگ و گربه براي دادن التيام روحي بهمعلولان، سالمندان و بيماران سخت، در حال گسترش است.
اينگونه روش تسكين و التيام روحي را در ژاپن "انيمال تراپي" و يا حيوان درمانيميگويند كه بازيگر اصلي آن سگها هستند.
اينگونه حركتها در ژاپن بيشتر از سوي سازمانهايي كه اهداف مالي نداشته و بهآنها (ان.جي.او) ميگويند، با هدف انجام نقشي مفيد براي جامعه انجام ميشود.
دكتر"ايشين شيگهنو" رييس انجمن رفاهي بيمارستان حيوانات ژاپن كه يكي ازسازمانهاي فعال در زمينه "انيمال تراپي" در ژاپن است، روز سهشنبه به خبرنگار "ايرنا" گفت كه اين سازمان از حدود ۲۰سال پيش فعاليت در اين زمينه آغاز كردهاست.
شيگهنو افزود: دستاوردهاي بدست آمده نشان داده كه نقش التيام آور سگها در روحيهافراد معلول و يا سالمنداني كه در خانه سالمندان زندگي دايمي دارند، بسيار بزرگاست.
وي اظهار داشت، افراد معلول و يا سالمنداني كه در تاسيسات ويژه نگهداري ميشوند،بهعلت كم بودن فرصت براي حضور در جامعه، دچار فشارهاي روحي "استرس" و يا دلتنگيميشوند.
اين دكتر ژاپني گفت: تجربههاي انيمال تراپي نشان داده كه پس از آنكه معلولي ويا سالمندان با حيوانات اهلي از نزديك برخورد كردند، روحيه آنها دگرگون شده و ازگوشهگيري گريخته و لبخند بر روي لبانشان آشكار شده است.
شيگهنو افزود: بگونه اساسي حيواناتي كه از آنها براي انيمال تراپي استفادهميشود، بايد داراي شروط ويژهاي همچون داشتن سلامتي كامل و ديدن آموزشهاي لازمباشند.
وي افزود: براي همين پيش ازآنكه حيوان اهلي مورد نظر به مراكز معلولان وسالمندان برده شود، آنها مورد آزمايشهاي ضروري قرار گرفته و پس از قبولي از اينآزمايشها، براي استفاده در انيمال تراپي تاييد ميشود.
شيگهنو گفت: حيوانات مورد استفاده در انيمال تراپي كه بيشتر آنها را سگهاتشكيل ميدهند به سازمان ويژهاي وابسته نيستند، بلكه سگهايي هستند كه آدمهاي عاديآنها را آموزش داده و در خانه نگهداري ميكنند.
به گفته وي، اين افراد براي ايفاي نقشي مفيد در جامعه بگونه داوطلبانه سگهاي خودرا دراختيار اين انجمن براي استفاده در انيمال تراپي ميگذارند.
اين دكتر ژاپني گفت: هم اكنون سازمانش در ۱۷۰تاسيسات نگهداري معلولان وسالمندان در سراسر ژاپن كار انيمال تراپي را انجام ميدهد.
شيگهنو افزود: در اين مراكز معلولان و سالمندان بگونه ميانگين بين ۸۰۰تا۹۰۰بار در سال كار انيمال تراپي انجام ميگيرد.
شيگهنو پيش بيني ميكند كه در آينده استفاده از انيمال تراپي براي التيام روحيمعلولان، سالمندان و يا بيماران سخت در ژاپن رو به گسترش رفته و تبديل به يكي ازمحورهاي روان درماني شود.
در ژاپن استفاده از سگهاي ويژه براي راهنمايي نابينايان هم رو به گسترش رفتهاست.
اين سگها در آموزشگاههاي حرفهاي آموزشهاي ويژهاي را ديده و سپس در اختيارنابينايان قرار ميگيرند.
فرد نابينان با در دست گرفتن دستگيره ويژهاي كه به گردن سگ انداخته شده،ميتواند همانند افراد عادي در خيابانها قدم زده و يا سوار قطار شود.
در كشور ژاپن كه جمعيت آن رو به پيري ميرود، بسياري از مردم حيوانات اهلي همچونسگ و گربه در محوطه خانه نگهداري ميكنند. اين موضوع براي ژاپنيهايي كه در خانوادههاي كوچك و كم رفت و آمد زندگيميكنند، تنها جنبه سرگرمي نداشته و بلكه جنبه التيام روحي هم دارد.
1) خطوط ورودی خروجی داده ( گذرگاه مشترک) Data Bus.
2)خطوط آدرس(گذرگاه آدرس) Adress Bus.
3)واحد محاسبه و منطق Alu.
4)واحد حافظه Memory Unit.
1) کار خطوط مشترک داده انتقال داده از بخشی به بخش دیگر است بنابراین در یک زمان واحد تمام واحدها به خطوط مشترک داده متصل هستند ولی تمام بخش ها از اطلاعات روی آن استفاده نمی کنند.
1)این خطوط مشخص می کنند که اطلاعات دقیقا از چه دستگاهی وارد یا خارج شوند این خطوط نیز به تمام واحدها متصل هستند.
2)وظیفه این واحد انجام محاسبات و عملیات منطقی پایه است این اعمال منطقیand,or,xor,not هستند و اعمال محاسبات پایه شامل تمام جمع کننده (Full Adder) و معکوس کننده (Inverter) هستند که به طور سخت افزاری در Cpu قرار دارند.
3)برای اینکه Cpu بتواند کاری انجام دهد باید اطلاعات خود را در جایی ذخیره کند این کار را واحد حافظه در Cpu انجام می هد و داده های مورد نیاز Cpu را به طور موقت در خود ذخیره می کند و واحد آن ثبات یا Register است .
نکته:
تعداد آدرس = دو به توان تعداد خطوط آدرس
خانواده های Cpu هایی که در PC مورد استفاده قرار می گیرند عبارتند از:
خانواده های X86
8086: PC XT,JR A:20bit D:16bit
8088: PC XT,JR A:20bit D:8bit
80286: PC AT A:24bit D:16bit
80386: PC AT A:24bit D:16bit
80486: PC AT A:24bit D:32bit
80586: PC AT A:24bit D:64bit
در 80286 از تکنولوژی ISA استفاده می کنند در 80386 از تکنولوژی EISA استفاده می کنند در 80486 از تکنولوژی EISA,VESA استفاده می کنند در 80586 از تکنولوژی PCI استفاده می کنند .
تکنولوژی جدیدی که در X586 استفاده می شود تکنولوژی AGP نامیده می شود.
ثبات یا Register:
محلی است که در CPU قرار دارد و اطلاعات را به طور موقت در خود ذخیره می کند ثبات از سلول های حافظه به نام فلیپ فلاپ (flipflap) تشکیل شده است یک فلیپ فلاپ می تواند دارای مقدادیر صفر یا یک باشد یعنی کار یک بیت را انجام میدهد.
خواص ثبات:
1) قابلیت Load داشته باشد. یعنی بتوانیم به ثبات مقدار اولیه بدهیم.
2)قابلیت Regist داشته باشد. یعنی بتوانیم داده ها را در آن ذخیره کنیم.
3)قبلیت Change داشته باشد. یعنی بتوانیم مقدار آن را تغییر بدهیم این تغییرات عبارتند از:
الف) بتواند setشود. یعنی تمام بیت هایش به یک تبدیل شود.
ب) بتواند clear شود . یعنی تمام بیت هایش به صفر تبدیل شود.
ج) بتواند complement شود. یعنی بتواند یک واحد از آن کم شود.
د) بتواند incerement شود. یعنی بتواند یک واحد به آن اضافه شود.
ه) بتواند shift شود. یعنی قابلیت انتقال داشته باشد.
انواع ثبات:
1) ثبات های عمومی (general- pwpose register). 2) ثبات های خاص (special-pwpose register).
ثبات های عمومی ثبات هایی هستند که برای آن ها کار خاصی در نظر نمی گیریم و در همه ی کار های cpu قرار می گیرند. این ثبات ها قابلیت و توانایی تمام ثبات های دیگر را نیز دارد و می توان به جای هم مورد استفاده قرار گیرند.
ثبات های خاص ثبات هایی هستند که یک کاربر با وظیفه ی خاص دارند یعنی بسته به نوع کاری که انجام می دهیم ممکن است اجازه استفاده از آن ثبات را داشته باشیم یا خیر . ثبات های این خانواده دارای وضعیت بحرانی (critical) می باشند.
انواع ثبات های عمومی:
8bit: AL,AH,BL,BH,CL,CH,DL,DH
16bit: AX,BX,CX,DX
32bit: EAX,EBX,ECX,DX
eax یا accumulator یا ثبات انباره:
این ثباتی همه کاره است یعنی تمام دستور العمل هایی که درزبان اسمبلی داریم روی این ثبات می تواند انجام شود eax تنها ثباتی است که با فضای بیرون از cpu ارتباط مستقیم دارد و به طور مستقیم به خطوط داده متصل است پس eax می تواند به طور مستقیم اطلاعات را بگیرد یا به طور مستقیم اطلاعات را بفرستد. مبدا و مقصد بسیاری از دستورات اسمبلی این ثبات است.
ثبات ebx یا base register یا ثبات پایه:
این ثبات امکان انجام برخی از محاسبات را دارد و در نقل و انتقال اطلاعات شرکت می کند مهمترین وظیفه ی آن این است که نقش مرکز پایه را برای دسترسی به بخش یا بخش هایی خاص از سیستم فراهم کند.
ثبات ecx یا conter register یا ثبات شمارنده:
یک ثبات عمومی است که می تواند در عمل نقل و انتقال اطلاعات و یا برخی اعمال محاسباتی شرکت کند و از آنجایی که توانایی انجام اعمال شمارشی را دارد به آن ثبات شمارنده می گویند هر جا در اسمبلی به شمارنده نیاز داشته باشیم از این ثبات استفاده می کنیم.
ثبات edx یا ثبات data regisret یا ثبات داده:
این ثبات یک ثبات عمومی است که می تواند در عمل نقل و انتقال اطلاعات و یا برخی از اعمال محاسباتی شرکت کند وظیفه اصلی این ثبات دریافت و ارسال اطلاعات است این ثبات همچنین می تواند با عنوان ثبات کمکی در کنار دیگر ثباتها قرار گیرد.
ثبات های خاص:
الف) ثباتهای اشاره گر یا pointer:
از ثبات های اشاره گر در آدرس دهی داده ها در بخش های مختلف حافظه استفاده می کند این ثبات ها عبارت اند از:
ebp,eip,esp
ebp یا base pointer یا اشاره گر پایه:
از این ثبات 32بیتی برای آدرس دهی بخشهای مختلف حافظه و به عنوان مرکزی برای برداشت اطلاعات استفاده می کند.
eip یا instruction pointer یا اشاره گر دستور:
از این ثبات 32بیتی برای دسترسی به دستور العملی که هم اکنون باید اجرا گردد استفاده می شود این اشاره گر همواره به ابتدای یک بخش از حافظه که دستور العمل در آن دارد اشاره می کند بسته به نوع عمل اجرا شده eip ممکن است یک یا چند خانه افزایش یابد.
esp یا stack pointer یا اشاره گر پشته:
از این ثبات 32بیتی برای دسترسی به بخش حافظه موقت یا پشته در یک برنامه زبان اسمبلی استفاده می شود.
ب) ثبات های شاخص یا index register:
این ثبات ها عبارتند از esi,edi:
edi یا destination index یا شاخص مقصد و esi یا source indexیاشاخص مبدا:
این ثبات های 32بیتی به صورت جفت در نقل و انتقال اطلاعات بین بخش های مختلف حافظه استفاده میشود همچنین از این دو ثبات برای ساخت آدرس استفاده می گردد محتویات این دو ثبات فقط آدرس اند نه داده.
ج) ثبات های eflag:
این ثبات 32 بیتی ثباتی است که وظیفه ی اعلام وضعیت داخلی cpu به استفاده کننده است و شامل شرایطی همچون وجود یا عدم وجود بیت نقلی (cary) بیت توازن(parity) بیت نقلی کمکی(auxiliary) بیت صفر(ziro) بیت علامت(sign) بیت اجرای دستورات(trap) بیت وجود وقفه(intter up) بیت جهت انتقال(direction) بیت سریز(overflow) بیت ها مربوط به کارکردن cpu در وظعیت حفاظت شده (modeprotected ) می باشد.
ساختار eflag:
cf
0
pf
0
af
0
zf
sf
tf
if
df
of
io
dl
nt
0
cf(carry flag):
این بیت وجود یا عدم وجود کری در یک بیت نقلی را نشان می دهد این بیت همواره به عنوان بالاترین بیت در اعداد بی علامت از نظر ارزش است این بیت فقط برای اعداد بی علامت و فقط برای eax تعریف شده است .
توازن(parity):
از جزوه ی مدار منطقی
یکی از راه های یافت خطا استفاده از بیت توازن است بیت توازن وضعیت تعداد بیت ها را مشخص می کند.
انواع توازن:
1) توازن فرد (odd parity):
اگر تعداد بیت های قالب ارسال شده فرد باشد بیت توازن صفر و در غیر این صورت یک است.
2) توازن زوج (even parity):
اگر تعداد یک های قالب ارسالی زوج باشد بیت توازن صفر و در غیر این صورت یک خواهد شد.
Pf(parity flag):
این بیت وضعیت توازن اطلاعات ارسال شده یا دریافت شده را که در eax قرار گرفته را نشان می دهد. توازن به کار رفته به صورتی است که اگر تعداد یک ها فرد باشد بیت توازن یک خواهد شد (توازن زوج). علت این که cpu از توازن زوج استفاده می کند به ساختارalu برمی گردد چرا که درalu گیت xor قرار گرفته است.
Af(auxiliary flag):
این بیت وجود یا عدم وجود بیت نقلی را در محاسبه حاصل جمع بیت شماره 3از دو ثبات نشان می دهد این بیت در محاسبات bcd مورد استفاده قرار می گیرد.
Zf(ziro flag):
این بیت وضعیت صفر شدن همه بیت های eax را نشان می دهد به عبارت دیگر اگر بر اثر عملی چه منطقی چه محاسباتی کلیه بیت های eax صفر شود این بیت فعال خواهد شد.
Sf(sign flag):
در صورت استفاده از اعداد علامت دار بیت علامت در این بیت ذخیره می شود . در صورتی که عمل چرخش یا انتقال روی محتویات یک ثبات صورت پذیرد وضعیت بیت علامت در صورت تغییر آن در این بیت ذخیره می شود.
نکته:
در صورتی که در یک عدد علامت دار تغییر علامت ناخواسته رخ دهد حالت over flow پیش می آید. بنابراین اعداد علامت دار را نباید به صورت منطقی شیفت داد بلکه باید به صورت محاسباتی شیفت داد.
tf(trap flag) :
این بیت نحوه اجرای دستورات توسط cpu را نشان می دهد. به این صورت که یا دستورات طبق روال منطقی برنامه به صورت پشت سر هم و پی در پی با دادن یک بار دستور اجرا می شود و یا در حالتی هستیم که دستورات به صورت مرحله به مرحله اجرا خواهند شد یعنی با هر بار اجرای دستور فقط یک دستورالعمل اجرا خواهد شد و نتیجه ی حاصل از آن به دست خواهد آمد. اگر tf یک باشد در حالت single step (قدم به قدم یا مرحله به مرحله) و اگر صفر باشد در حالت normal (پی در پی) هستیم.
If(interup flag) :
برای ارتباط cpu با دنیای خارج cpu از دو حالت زیر استفاده می کند.
Poling(سر کشی),interup(وقفه):
در روش سرکشی برای بررسی عناصر جانبی و بررسی اعلام آمادگی این عناصر برای دریافت و ارسال اطلاعات cpu هر بار خطوط کنترلی هر یک را بررسی می کند به عبارت دیگر با سرکشی به هر یک از این عناصر آمادگی یا عدم آمادگی آن ها را بررسی می کند. در کارهای صنعتی وقتی که تعداد عناصر جانبی کم است از این روش استفاده می شود در ضمن این روش از نظر سخت افزار و نرم افراز بسیار راحت است اما یک اشکال بزرگ دارد و آن این است که cpu در هنگام سر کشی هیچ کار دیگری نمی تواند انجام دهد زیرا دائما در حال سرکشی است.
خطوط ارتباطی بین ابزار و cpu را خطوط وقفه می گویند هر وقفه دارای یک درخواست(request) و یک پاسخ(acknowledge) می باشد.
وقفه در cpu بر دو نوع است:
1) وقفه قابل صرفه نظر شدن یا maskable.
2) وقفه غیر قابل صرفه نظر شدن یا non-maskable.
فقط یک وقفه است که غیر قابل صرفه نظر شدن است که همان وقفه nmi می باشد و به کلید reset روی سیستم متصل شده است یعنی تحت هر شرایطی cpu باید به این وقفه جواب دهد و بالاترین اولویت را دارد و مستقیما به پایه ی nmi میکروپروسسور وصل است بقیه ی وقفه که قابل صرفه نظر هستند اولویت بندی شده و در اختیار عناصر دیگر قرار می گیرند.
اگر بیت وقفه یک باشد علامت پذیرش وقفه است و اگر صفر باشد بیانگر عدم پذیرش وقفه است(در مورد وقفه های قابل صرفه نظر شدن).
DF(flag(direction
این بیت وضعیت ارسال اطلاعات در صورت استفاده از روش آدرس دهی شاخص(ESI,EDI) را نشان می دهد وبسته به مقادیر مختلف داده ها را از مبدا به مقصد و یا بلعکس منتقل می کند و در صورتی که اطلاعات از مبدا به مقصد منتقل می شود DF صفر است، ESI,EDIدر آغاز در ابتدای حافظه قرار دارند و در هر بار انتقال اطلاعات ESI,EDI یک واحد اضافه می شود وقتی عمل ارسال اطلاعات به مقصد تمام می شود ESI,EDI در انتهای بخش حافظه قرار دارند در این صورت اگر لازم باشد اطلاعات دوباره به مبدا فرستاده شوند DF باید یک شود و در این صورت با هر بار ارسال اطلاعات از ESI,EDI یک واحد کم می شود.
حجم اطلاعات منتقل شده از مبدا به مقصد و یا بلعکس را ثبات CL می گوییم.
OF((over flow:
اگر در یک محاسبه در اعداد با علامت over flow رخ دهد (یعنی یک بیت اضافه بیاوریم) این بیت یک خواهد شد.
Nt,Pl,Io:
این سه بیت مربوط به عملکرد cpu و در وضعیت حفاظت شده است.
وضعیت های کاری cpu های 80286 به بالا:
1)وضعیت read mode:
اینکه هر cpu می تواند دستور العمل های 8086 را اجرا کند. در این صورت حافظه به چهار بخش 64 کیلو بایتی تقسیم می شود.
2)وضعیت protected mode :
دراین وضعیت cpu می تواند حافظه را به طور کامل تقسیم کرده و در هر قسمت یک برنامه مجزا را اجرا کند. در این صورت هر بخش از حافظه اصلی مانند یک حافظه مجزا عمل می کند.
3)وضعیت virtual mode:
در این وضعیت cpu می تواند که آدرس دهی مجازی انجام دهد پس می تواند حجم حافظه را به طور مجازی افزایش دهد.
د)ثبات های بخشsegment registers:
این ثبات ها برای ساخت آدرس بخش های حافظه استفاده می شود حافظه اصلی برای اجرای برنامه به چهار بخش تقسیم می شود.
1) بخش دستورات(code segment)
2) بخش داده(data segment)
3) بخش پشته(حافظه موقت)(stuck segment)
4)بخش اضافه باکمکی(extra segment)
تقسیم بندی این حافظه اصلی به صورت آدرس است پس در کل نیاز به داشتن چهار آدرس داریم.
CS یا ثبات بخش کد(code segment register):
این ثبات آدرس ابتدای بخش دستورات را ذخیره می کند.
DS یا ثبات بخش داده(data segment register):
این ثبات آدرس ابتدای بخش داده را ذخیره می کند.
SS یا ثبات بخش پشته(stack segment register):
این ثبات آدرس ابتدای بخش پشته را ذخیره می کند
ES ثبات بخش کمکی(extra segment register):
این ثبات آدرس ابتدای بخش کمکی را در خود ذخیره می کند.
ثباتIP در بخش کد وظیفه اش اشاره به دستورالعملی است که باید اجرا شود و در آدرس آن cs:ip است.
ثباتBPدر بخش data مورد استفاده قرار می گیرد و دسته ی به آن به صورت ds:bp است.
ثباتSPدر بخش stackمورد استفاده قرار می گیرد و دسته ی به آن به صورت ss:sp است. چون sp با حجم پشته پر می شود با هر بار ورود اطلاعات به آن (پشته) از sp کم خواهد شد.
در قبال برنامه نویسی معمولا آدرس ابتدای بخش دستورات و اضافی یکی هستند.
نکته: ثبات های بخش در همه cpu های خانواده x86 ،16 بیتی هستند.
CS:
Cs ثباتی 16 بیتی است به آدرس شروع بخش دستور در حافظه اصلی را برای برنامه ای که در حال اجرا است در خود دارد. بخش دستورشامل کلیه دستورات برنامه نویسی شده که با مشخص کردن آدرس شروع بخش دو آغاز شده و به دستورendختم می شود. برای ساخت آدرس در وضعیت read mode باید محتوای cs در f ضرب شده و حاصل به عنوان بخش ثابت در ساخت آدرس مورد استفاده قرار گیرد به عبارت دیگر:
Effective address = cf f + ip
با ضربf در cs چهار بیت صفر درسمت راست خواهیم داشت.
آدرس موثر آدرس دسته ی به یک خانه حافظه است.
Offset همواره فاصله از آغاز یک بخش خواهد بود.
مراحل اجرای یک دستورالعمل در cpu:
1) fetch: یعنی برداشت دستورالعمل از حافظه که توسط address unit, bus unit انجام می گیرد.
2) decode: یعنی برگرداندن کد دستورالعمل که توسط execution uint انجام می گیرد.
3) execute: یعنی اجرای یکی دستورالعمل.
بخش های یک cpu:
1) bus unit : کار نقل و انتقال داده ها و دستورات است.
2) address unit: کار این قسمت ساخت آدرس دستورالعمل است.
3) exe cution unit: کار این قسمت اجرای یک دستورالعمل است.
این بخش شامل دو قسمت است:
الف) insttraction queue:
ب) execution unit:
هر چه حجم صف یا queue در cpu بیشتر باشد سرعت اجرا بیشتر است معمولا بین هشت یا چهارده دستورالعمل در cpu کدشان برای اجرا آماده می شود.
Ds:
ثباتی 16 بیتی است که از آن برای مشخص کردن آدرس شروع بخش داده در حافظه اصلی استفاده می شود. بخش داده حاوی کلیه داده ها و احتمالا محل هایی است که به عنوان متغیر برنامه نویسی مورد نیاز می باشد. برای دسترسی به داده هایی ذخیره شده در این بخش نیز آدرس موثر با فرمول زیر بدست می آید:
این offset بسته به نوع آدرس دهی می توان edi,bp یا es باشد در بخش داده می توان ثابت ها و متغیرها را ذخیره کرد.
Ss:
ثباتی 16 بیتی است که می توان آدرس شروع حافظه پشته در هنگام برنامه نویسی را در خود ذخیره کند. برای آدرس دهی به stack و یا ذخیره و بازیابی اطلاعات در آن داریم.
این offset می تواند sp یا ebp باشد. توجه کنید که ebp در نوع خاصی از برنامه های اسمبلی که بخش داده و پشته یکی باشند می توانند مورد استفاده قرار گیرند.
نکته:maximom مقدار هر بخش در حافظه 64 کیلو بایت است.
برنامه نویسی در اسمبلی:
هر فایل اسمبلی با پسوند asm قابل شناسایی است که فایلی از نوع متنی با کد اسکی است این فایل را باید توسط اسمبلرtasm) .exe یا (masm .exe به این فایل آبجکت (obj) تبدیل کرد و سپس با استفاده از لینک (link .exe) آن فایل آبجکت را به فایل exe تبدیل کرد.
فایل exe را می توان تحت هر شرایط خاصی توسط exe2bin .exe به فایل با پسوند com تبدیل کرد.
فایل های exe و com:
خصوصیات فایل های exe:
1) فایل های exe هر چهار بخش es ,ss , ds ,cs را دارد.
2) حجم فایل های exe محدود نیست یعنی فایل exe می تواند تا maximom حجم حافظه حجم داشته باشد بنابراین فقط از 256KB استفاده نمی کند بلکه کل حافظه پایه را (حافظه اصلی) به چهار بخش تقسیم می کند.
3) آدرس شروع آن ها ثابت نیست یعنی بخش ها در فایل exe دارای آدرس ثابت نیستند بلکه دارای آدرس شناوراند و در هر جای حافظه می توانند قرار گیرند. پس فایل exe اصطلاحا یک فایل reloeatable است.
خصوصیات فایل های com:
1) فایل های com فقط یک بخش دارند یعنی es ,ss , ds ,cs همه یکی هستند.
2) حجم فایل com حداکثر 64KB است چون یک بخش بیشتر نداریم.
3) آدرس شروع آن ثابت است یعنی برای ساخته شدن آدرس نیازی به ساخت آن نداریم. آدرس شروع هر برنامه از نوع com.100hex است به عبارت دیگر اولین مقداری که ip می گیرد 100hex است.
4) برای فایل com به هیچ عنوان نباید بخش پشته تعریف شود یعنی ss نباید در متن برنامه اسمبلی تعریف شود چرا که پشته را خود سیستم تعریف می کند.
الویت بندی اجرای فایل ها در سیستم:
1)فایل های com 2) فایل های exe 3) فایل های bat
نکته: header(یک اطلاعات عمومی درباره فایل می دهد) فایل های 256 ,exe بایت وheader فایل 512b است .
نکته: فایل های exe اگر خیلی بزرگ باشند می توان در کنار آن ها فایل هایی با پسوند (over lait file)ovl ایجاد کرد.
این فایل ها دنباله فایل exe هستند که دارای header نیست.
نکته: در هنگام ایجاد یک فایل com چون stack تعریف نشده هنگام link کردن لینکرپیام خطای no stack defined را خواهد داد البته لینکر فایل exe را تولید خواهد کرد.
4/8/84
انواع خطاها در ماکرو اسمبلر و لینکر:
1) خطاهای اساسی:
خطاهایی هستند که روال تبدیل را متوقف می کند یعنی اگر در هنگام تولید یک فایل object یک خطای اساسی رخ دهد دیگر فایل object تولید نخواهد شد در این صورت پیام خطا و نوع خطا به همراه توضیح آن چاپ خواهد شد.
2) خطاهای هشداری:
این خطاها روال تبدیل را متوقف نمی کند مثلا خطای no stack defind از نوع خطاهای هشداری است.
فرم کلی دستورات در زبان اسمبلی
[label:] mnemonic [operand(s)] [;commed]
Label (برچسب):
فایلی است که برای یک دستور در نظر گرفته می شود. این نام حداکثر 32 فرمی است و حتما به علامت : ختم می شود و می تواند شامل حروف a..z , c..z ارقام 0..9و برخی علائم خاص باشد مانند:
0,?,@,_,$
این نام نمی تواند یکی از دستورات زبان اسمبلی یا نام یک ثابت باشد مکان خالی یا blankدر چسب مجاز نیست. برچسب نباید با رقم شروع می شود و نقطه می تواند فقط در آخر برچسب باشد.
نکته: اسمبلی حساس به متن نیست (یعنی حروف بزرگ و کوچک فرقی نمی کند).
Mnemonic (کد دستور):
که معادل زبان اسمبلی که برای هر دستور در زبان ماشین قرار می گیرد و حداقل یک حرفی و حداکثر 7 حرفی است.
Operand (مولفه):
هر دستور موجود در زبان اسمبلی بسته به نوع و روش آدرس دهی ممکن است دارای صفرتا سه مولفه باشد این مولفه یا یک ثابت است یا هم خانه ای از حافظه است یا یک مقدار ثابت است.
داده ها یی که مربوط به اسم خانه ای از حافظه است به طور کلی به یکی از صورت های زیر نشان می دهیم:
آدرس خانه ای از حافظه که 32 بیتی mem-32:
آدرس خانه ای از حافظه که 16 بیتی mem-16:
آدرس خانه ای از حافظه که 8 بیتی mem-8:
می توان بجای اسم خانه ای از حافظه آدرس خانه ای از حافظه را در دستور قرار داد که در این صورت بین قرار می گیرد. در این صورت [address]محتوای آن آدرس را نشان خواهد داد.
ثوابت به دو دسته تقسیم می شوند:
1) عددی:
ثوابت عددی به سه دسته تقسیم می شوند:
الف) decimal ب) hexa decimal ج) binerg
ثابت decimal ثابتی است که در انتهای آن حرف d ذکر شود مانند:
(یعنی 89 یکی واحد دهی) 89d
طبق قرارداد می توان حرف d را حذف کرد بنابراین عددی که در انتهای آن حرفی نباشد یک عدد را decimalاست.
89
ثابت hexadecimal ثابتی است که در انتهای آن حرف h ظاهر شود مانند:
89h 8a (یک بیت اضافه می شود)
ثابت باینری ثابتی است که در انتهای آن حرف b قرار گیرد.
01011101b
نکته: اگر یک داده و محلی که قرار است داده در آن قرار گیرد انطباق برقرار نباشد خطای mis matchرخ می دهد. مانند هنگامی که بخواهیم یک مقدار 16 بیتی را در ثبات ah قرار دهیم.
نکته: برای اعداد علامت دار منفی دسیمال گذاشتن علامت منفی در پشت عدد کفایت می کند اما اعداد منفی باینری و hexadecimal حتما باید به فرم مکمل دو باشند.
2) کاراکتری:
مجموعه ای از کاراکترها که در داخل علامت های' ' قرار گیرد ثابت کاراکتری است. یک ثابت کاراکتری در زبان اسمبلی همواره یک بایت است بدون توجه به تعداد کاراکترها.
Comment (توضیح):
هر توضیح با منفی که لازم باشد به دستور اضافه کنیم تا دستور واضح شود هر توضیح حتما باید بعد از علامت ؛ قرار گیرد. توضیحات در هنگام تبدیل به زبان ماشین در نظر گرفته نخواهد شد.
روش های آدرس دهی در real mod:
1) آدرس دهی ثباتی (register addressing)
در این روش آدرس دهی مولف های دستور به کار رفته حتما ثبات های cpu هستند معمولا ما برای هر دستورالعمل یک مبدا (source) و یک مقصد (destination). در این روش آدرس دهی هم مبدا و هم مقصد باید ثبات باشند. شکل کلی این نوع آدرس دهی به فرم زیر است:
Instruction register, register
2) آدرس دهی فوری (immediate addressing)
اگر در عمل انتسال مبدا یک مقدار ثابت هشت بیتی، 16 بیتی یا 32 بیتی باشد عمل آدرس دهی بلافصل (فوری) را خواهیم داشت. شکل کلی آن به فرم زیر است:
Instruction destination , constant
مثال)
Mov ax,100 ; ax = 100;
مقصد می تواند یک ثبات cpu و یا یک خانه از حافظه باشد از این روش معمولا برای مقدار دهی اولیه ثبات ها استفاده می کنند.
3) آدرس دهی مستقیم (direct addressing)
در این روش آدرس دهی آدرس مولفه با نامی که برای مولفه در حافظه قرار داده ایم به طور مستقیم در دستورالعمل ذکر می شود. شکل کلی آن به فرم زیر است:
Instruction register , soure
مبدا نام یک خانه از حافظه است که حتما باید در بخش داده تعریف شده باشد. بسته به نوع ثبات از آدرس داده برداشته می شود به عنوان مثال برای ثبات ax دو بایت از حافظه برداشته می شود.
4) آدرس دهی غیر مستقیم با ثبات (register indirect addressing)
در این نوع آدرس دهی cpu آدرس موثر را از جمع محتوای یکی از ثبات های di,bp,bx و یا si یا محتوای ثبات ds (که به ابتدای segment داده اشاره می کند) به دست می آید. در این صورت باید ثبات را در قرار دهیم. شکل کلی آن به فرم زیر است:
Instruction register,[register]
; ax=[ds+bx]Mov ax,[bx]
در مثال فوق محتوای bx آدرس نسبی است و [bx] به داده ی ذخیره شده در آن آدرس اشاره می کند.
5) آدرس دهی نسبی با ثبات پایه(base relative addressing):
در این آدرس دهی cpu آدرس موثررا از جمع محتوای ثبات bp,ds یا bx و یک مقدار ثابت بدست می آورد.
Instruction register,[register+constant]
Mov ax,[bp+100]
تمرین: در مورد 2 نوع آدرس دهی دیگر یعنی:
6) آدرس دهی مستقیم با ثبات شاخص(direct index addressing).
7) آدرس دهی شاخص دار با ثبات پایه(base indexed dressing).
دستورات اجرایی دستوراتی هستند که اسمبلر در زمان ترجمه برنامه معادل زبان ماشین آن را تولید می کند ولی دستورات غیر اجرایی دستوراتی هستند که معادل زبان ماشین ندارند و اسمبلر کدی برای این دستورات تولید نمی کند.
11/8/84
الف) شبه دستورات تعریف داده:
تعریف ثوابت: برای تعریف ثوابت از دستور equal به شکل زیر استفاده می شود
Name equ data :فرم کلی
Name، نام یک مقدار ثابت و نام یک خانه ی حافظه می باشد.
Data، یک مقدار ثابت است که می تواند مقداری عددی، کاراکتری، آدرس حافظه و یا یک ثبات باشد.
مثال:
مقدار عددی ;data-1 equ 10eh
مقدارکاراکتری ;data-2 equ 'root'
آدرس ;data-3 equ [si]
ثبات ;data-4 equ cx
نکته:
در صورت استفاده از equ دیگر نمی توان تعریف مجدد برای آن نماد را داشت. در صورتی که بخواهیم امکان تعریف مجدد فراهم باشد بجای equ باید از = استفاده کرد . استفاده از علامت = خاص عبارت عددی است.
مثال)
غلط
Data-1 equ 10
Data-1 equ 20
درست
Data-1 = 10
Data-1 = 20
تعریف متغیرها: برای تعریف متغیرها از دستور define به شکل زیر استفاده می شود:
Name dx data [dup()] :فرم کلی
Name: نام متغیر
Dx: نوع متغیر
Data: مقدار اولیه متغیر
حالات x:
فضای یک بایتی db
فضای دو بایتی dw
فضای چهار بایتی dd
فضای هشت بایتی dq
فضای ده بایتی dt
مثال)
Data1 db 01h
Data-2 dw 2ef1h
Data-3 dd 3a00eh
در صورت که بخواهیم مقدار اولیه برای متغیر تعریف نکنیم بجای data از ؟ استفاده می کنیم.
مثال)
Data-4 dw ?
بنا به تعریف هر ثابت کاراکتری در زبان اسمبلی فقط و فقط در یک بایت قرار می گیرد و از علامت ' ' (تک کتیشن) برای نمایش آن استفاده می شود.
مثال)
Data-5 db 'this is a test'
ثوابت کاراکتری فقط یک بایتی می باشند پس همیشه از نوع db تعریف می شوند.
در اسمبلی آرایه هم می توان تعریف کرد . کافی است برای یک مقدار چند مقدار را در جلوی متغییر قرار دهیم.
مثال)
Data6 db 32,20,18,90,46
برای دست رسی به عناصر آرایه
Data6=32
Data6+1=20
Data6+2=18
Mov ax,data6+1:مانند
اختصاص فضای بیش از 10 بایت مستلزم استفاده از فیلد تکرار یا dup است.
در این صورت data ضریب تکرار برای داده مشخص می کند و در داخل پرانتز جلوی dup مقداری که باید تکرار شود را قرار می دهیم.
مثال)
Data7 db 5,5,10,10,10,10,10,8,8,8 ; data7 db 2dup(5),5dup(5),3dup(8)
آرایه ای به طول 100 کلمه یا 200 بایت بدون مقدار اولیه Data7 dw 100dup(?) ;
در زبان اسمبلی تعریف داده چندین خط را می تواند به خود اختصاص دهد. ولی توجه کنید که نوع داده را نمی توان عوض کرد.
مثال)
Data9 dd 20dup(10)
dd 30dup(0)
Data10 db 'first'
db 'second'
db 'third'
شبه دستورات ارجاع خارجی:
برنامه های نوشته شده در زبان اسمبلی ممکن است شامل چندین بخش یا ماژول باشد اگر این ماژول ها بخواهند داده هایشان را به اشتراک بگذارند این کار با استفاده از دو شبه دستور public,extrn به شکل زیر فراهم می شوند.
Public symbol[,…]:فرم کلی
این شبه دستور به ماژول های نوشته شده و ترجمه شده به طور جداگانه که در زمان لینک کردن به هم پیوند خورده اند اجازه می دهد که از نمادهایی که در این شبه دستور مشخص شده است به طور مشترک استفاده نماید. با این کار از تکرار داده های مشابه در ماژول های مختلف که جداگانه نوشته شده اند جلوگیری می شود.
Extrn name:type[,…] :فرم کلی
این شبه دستور برای اسمبلر مشخص می کند که داده های موجود در این شبه دستور در این ماژول تعریف نشده اند بلکه در ماژول های دیگری نوشته شده اند که توسط شبه دستور public به اشتراک گذاشته شده اند. به عبارت دیگر آن داده ها برای این ماژل خارجی هستند. نوع یا type بسته به نوع داده یکی از وظعیت های زیر است:
الف) اگر name ، داده ای باشد که در سگمنت داده یا اضافی تعریف شده باشد آنگاه type یکی از کلامات کلیدی byte,word یا dword خواهد بود.
ب) اگر name ، نام ثابتی باشد که توسط دستور equal یا مساوی تعریف شده باشد آنگاه type ، کلمه کلیدی abs خواهد بود.
ج) اگر name ، نام یک روال باشد آنگاه type یکی از دو کلمه ی کلیدی near یا far خواهد بود.
شبه دستور دیگری که می تواند در این بخش مورد استفاده قرارگیرد ، شبه دستور include است که به فرم زیر تعریف می شود:
Include filename :فرم کلی
این شبه دستور باعث الحاق محتویات فایل ذکر شده در دستور به برنامه فعلی خواهد شد. نحوه ی عمل این گونه است که اسمبلر در زمان ترجمه هنگامی که به این شبه دستور برسد محتوای فایل ذکر شده در دستور را خوانده و آنرا جانگزین شبه دستور نموده و سپس عمل ترجمه را ادامه می دهد.
18/8/84
ج) شبه دستورات تعریف سگمنت:
شکل کلی تعریف سگمنت به فرم زیر است:
Seq-name segment [aligm-typy] [combin] [class]
مجموعه دستورات یا داده ها
Seg-name ends
با این دستور می توان یک سگمنت را تعریف و ابتدا و انتهای آن را مشخص کنید.
Align-typy یا نوع هم ترازی:
از عملوند برای تعیین و انطباق شروع یک سگمنت با آدرس حافظه بکار می رود و دارای حالات زیر است:
الف) byte: سگمنت از هر آدرسی می توند شروع شود.
ب) word: سگمنت از هر آدرس زوجی می تواند شروع شود.
ج) para: سگمنت از هر آدرس که قابلیت تقسیم بر 16 را داشته باشد می تواند شروع شود.
د) page: سگمنت از هر آدرسی که قابلیت تقسیم بر 256 را داشته باشد می تواند شروع شود.
در صورتی که نوع هم ترازی ذکر نشود حالت پیش فرض para خواهد بود.
combin type یا نوع ترکیب:
از این عملوند برای تعیین ترکیب سگمنت در حال تعرف یف با سایر سگمنت های همنام در سایر ماژول ها استفاده می شود و دارای حالات زیر است:
الف) public: دو سگمنت هم نام به طور متوالی در حافظه قرار می گیرند.
ب) comment: دو سگمنت هم نام از یک ناحیه به طور مشترک استفاده می کنند.
ج)stack: در سگمنت های از نوع پشته باید از این حالت استفاده شود.
در صورتی که نوع ترکیب ذکر نشود حالت پیش فرض public خواهد بود.
Class:می تواند یکی از حالات زیر باشد:
الف) 'code': برای سگمنت کد.
ب) 'data': برای سگمنت داده.
ج) 'stack': برای سگمنت پشته.
د) 'extra': برای سگمنت اضافی.
مثال)
تعریف سگمنت کد:
Cseg segment para public ['code']
Assume cs:cseg,ds:dseg,ss:sseg,es:eseg
Mov ax,05h
Add ax,bx
Cceg ends
مثال)
تعریف سگمنت داده:
Dseg segment para public ['data']
Data1 db ?
Data2 dw ?
Dseg ends
مثال)
تعریف سگمنت پشته:
Sseg segment para stack ['stack']
Dw 32dup(?)
Sseg ends
تعریف سگمنت اضافی:
Eseg segment para public 'extra'
Str1 db 'abcdefghijklm'
Str2 db 'nopqrstuvwxyz'
Eseg ends
نکنته:
همان طور که در مثال تعریف پشته دیده می شود استفاده از دستور define در این بخش نیازی به اسم ندارد چرا که پشته نیاز به آدرس دهی ندارد و همچنین در داده های موجود در پشته مقدار اولیه در نظرگرفته نمی شود و همچنین تعریف سگمنت پشته معمولا(نه همیشه) شامل تعریف یک آرایه با استفاده از دستور dup است.
شبه دستور assume:
این دستور برای تعیین آدرس متاظر ثباتهای بخش بنام بخش ها بکار می رود و به شکل کلی زیر است:
Assume seg-reg:segname[,…] :فرم کلی
Seg-reg یکی ازمقادیر cs,ds,ss,es است و segname نام گمنت متناظر با ثبات ذکر شده است . این دستور همیشه در ابتدای تعریف سگمنت برنامه قرار می گیرد.
د) شبه دستور proc:
از شبه دستور برای تعریف یک روال به شکل زیر استفاده می شود:
Proc name proc [attribute]
شبه دستورات
Ret
Proc-name endp
Proc-name نام روال مورد نظر است و attribute یکی از دو کلمه ی کلیدی near و far می باشد.
روال ها به دوسته خارجی و داخلی تقسیم می شوند . اگر روال تعریف شده فقط از داخل سگمنتی که این روال تعریف شده است قابل فراخوانی باشد روال را داخلی گویند و از کلمه ی کلیدی near برای آن استفاده می شود. اما اگر روال تعریف شده بتواند از سگمنت های دیگر قابل فراخوانی شود آنگاه روال را خارجی می نامند و از کلمه ی کلیدی far برای آن استفاده می شود در صورتی که هیچ صفتی برای روال ذکر نشود اسمبلی به طور پیش فرض صفت near را برای روال در نظر می گیرد.
نکته:
دستور ret در انتهای روال کنترل را به دستورالعمل بعد از دستورالعمل call ( یا دستورالعمل فراخواننده روال ) منتقل می کند.
25/8/84
هـ) شبه دستور کنترل اجرای برنامه شبه دستورend:
این شبه دستور انتهای برنامه اسمبلی را مشخص می کند به فرم کلی زیر:
[entry point lable] end
برچسب نقطه شروع مکانی است که سیستم عامل اجرای برنامه را شروع نموده است در صورتی که برنامه اسمبلی ماژول های مختلفی داشته باشد فقط end ماژول اصلی می تواند دارای برچسب باشد و end سایر ماژول ها حتما نباید دارای بر چسب باشد.
شبه دستورeven:
این شبه دستور در هنگام ذخیره داده ها مورد استفاده قرار می گیرد و در صورتی که محتوای ثبات اشاره گر عددی فرد باشد به آن یک واحد اضافه می کند تا ذوج شود این کار باعث افزایش سرعت انتقال داده ها می گردد. فرم کلی آن به شکل زیر است:
Even
این شبه دستور هیچ پارامتری ندارد.
مثال)
Dseg seg para public 'data'
Hour db?
Even
Message db 'press any key to eontinue…'
Dseg ends
شبه دستورorg:
از این شبه دستور برای تغییر محتویات ثبات اشاره گر دستورالعمل (ip) در هنگام شروع برنامه برای اجرا استفاده می شود و به فرم کلی زیر می باشد:
Org address
آدرس تعریف شده در شبه دستورorg هنگام اجرای برنامه در ثبات ip قرار خواهد گرفت ازا ین دستور به شکل org 100h برای برنامه های اجرایی از نوع com مورد استفاده قرار می گیرد. زیرا همان طور که گفته برنامه های اجرایی نوع com حتما از این نوع آدرس باید شروع و اجرا شود.
2/9/84
دستورات انتقال داده ها:
این مجموعه دستورات عمل انتقال داده و یا آدرس بین ثبات های مختلف cpu و یا ثبات ها و حافظه و یا ثبات ها و io را انجام می دهند این مجموعه دستورات به چهار دسته کلی تقسیم می شوند.
1) دستورات عمومی 2) دستورات io 3 ) انتقال آدرس 4) انتقال flag
دستورmove:
یکی از دستورات عمومی برای انتقال داده بین بخش های مختلف cpu حافظه و یا io است.
Mov destination,source
دستورات move حتما دارای دو مولفه است. مقصد در دستورmove می توان ثبات cpu و یا محلی از حافظه باشد، مبدا نیز می تواند ثبات cpu، محلی از حافظه و یا مقدار ثبات باشد.
نکته1) دستورmove بین دوبخش از حافظه نمی تواند مقدار جابجا کند.
Move datal,data2
هم مبدا و هم مقصد نمی تواند آدرس محلی از حافظه باشد.
نکته2) در دستور move حتما باید انطباق بین مبدا و مقصد برقرار باشد.
مثال)
Mov eax,edx
Mov ax,cx
Mov al,cl
Mov ax,mem-16
Mov bx,o
Mov cx,o5h
دستورات آدرس دهی پشته:
این دستورات احتیاج به تهیه آدرس ندارند.
دستورpush:
Push regname
از این دستور برای قرار دادن مقدار یک ثبات در حافظه پشته استفاده می کنیم معمولا بخش پشته یک بایتی است بنابراین برای ذخیره مثلا ثبات ax داریم:
ah
al
هشت بیت پایین
هشت بیت بالا
نکته:
توسط این دستور نمی توان ثبات بخش و ثبات flag را در حافظه ذخیره کرد. چرا که ثبات بخش مقدارش از اول برنامه تا آخر برنامه تغییرنمی کند.
مثال)
Push dx
Push ebx
دستورpop:
از این دستور برای بازیابی اطلاعات ذخیره شده stack استفاده می کنید در هنگام برداشت اطلاعات نیز به نکات مشابه دستور push توجه داشته باشید. روال بازیابی و ترتیب قرارگیری ثبات ها در هنگام بازیابی اطلاعات ذخیره شده عکس ترتیب ذخیره آن ها است.
مثال)
آخرین ثباتب که push کردیم اولین ثباتی است که pop می شود.
Push dx
Pop ebx
Pop dx
نکته:
اگرترتیب بازیابی به هم بخورد یا حالت تساوی بین تعداد دستورات pop,push به هم بخورد خطاهای مربوط به stack مانند
pop without push , push without pop
مثال)
Push ax push ax
Pop without push
Push without pop
Push bx push bx
Pop ax push bx
دستورpush flag:
pushf :فرم کلی
از این دستور برای ذخیره ثبات flag در حافظه پشته استفاده می کنیم.
دستور pop flag:
popf :فرم کلی
از این دستور برای بازیابی ثبات flag از حافظه پشته استفاده می کنیم.
دستور push all general register:
Pusha :فرم کلی
از این دستور برای ذخیره تمام ثبات های عمومی بره ترتیب di,si,bp,sp,bx,dx,cx,ax استفاده می شود.
دستور تعویض مقادیرexchange:
Echg destination,source :فرم کلی
از این دستور برای تعویض مقادیر دو ثبات از cpu یا یک ثبات و یک خانه حافظه استفاده می کنیم. مقصد می تواند ثبات cpu یا محلی یا محلی از حافظه باشد و مبدا نیز می تواند ثبات cpu یا محلی از حافظه باشد.
توجه کنید که هر دو مولفه نمی توانند محلی از حافظه باشند. باید انطباق بین مبدا و مقصد برقرار باشد.
مثال)
Xchg al,bl
Xchg mem-32,ebx
دستورات وردی خروجی:
دستور input:
in destination,address :فرم کلی
از این دستور برای دریافت یک مقدار ورودی و یا ارتباط با ابزار جانبی استفاده می شود.
در این دستور مقصد فقط می تواند ثبات eax,ax یا ah باشد. علت آن این است که ax تنها ثبات است که به گزرگاه داده وصل شده است. آدرس نیز، آدرس پرت ابزار ورودی است. بعضی آدرس های متداول پرت عبارتند از:
300h network,adapter
378h lpt1
3f8h com1
2f8h com2
3e8h com3
2e8h com4
نکته ی 1:
در دستور in ثبات al قرار نمی گیرد.
نکته ی 2:
کامپیوتر می تواند 256 ابزار ابزار ورودی خروجی را آدرس دهی کند. و از آن استفاده کند. اما در عمل کامپیوتر به تعداد slot هایش می تواند ابزار ورودی/خروجی داشده باشد.
نکته ی 3:
تنها ثباتی که مجاز است محتوای آدرس پرت باشد ثبات dx است.
مثال)
Mov dx,300h
In ax,dx
دستور output:
Out address,source :فرم کلی
در این دستور address، آدرس پرت خروجی و source یکی از ثبات های ax,eax یا ah (اما نه al) می باشد. به وسیله ی این دستور مقداری را روی خط داده قرار می دهیم. آدرس ابزار خروجی می تواند مشابه دستور in در dx قرار بگیرد.
مثال)
Mov dx,300h
Out dx,ax
Mov ax,05h
Out 3f8h,ax
9/9/84
انتقال flag:
دستورload ah from flag:
lahf :فرم کلی
این دستور flag را به ah منتقل می کند مقدار آن در ah به صورت زیر قرار می گیرد:
cf
1
pf
o
ax
o
zf
sf
دستور save ah to flag:
فرم کلی sahf:
این دستور ah را در flag ذخیره می کند.
مثال) دستورات زیر چه عملی را انجام می دهد؟
Mov ah,o3h
Sahf o3h=00000011
(بیت کری فعال می شود)
دستورات محاسباتی:
Add adc sub sbb inc dec mul imul div idiv
دستورات منطقی:
And or xor not test
دستورات محاسباتی (توضیحات):
دستور addition:
فرم کلی add destination, source:
در این دستور مقصد می تواند ثبات یا خانه حافظه و مبدا می تواند ثبات یا خانه حافظه یا مقدار ثبات باشد. اما هر دو هم زمان نمی توانند به طور هم زمان خانه ای از حافظه باشد حاصل اجرای دستور فوق به شکل زیر است:
Destination=destination+ source
این دستور روی cf اثر می گذارد اما آن را در محاسبه در نظر نمی گیرد.
دستورaddition with carry:
فرم کلی adc destination,source:
این دستور مانند دستور قبلی است با این تفاوت که کری را نیز در نظر می گیرد.
Destination= destination+source+cf
مثال) فرض کنید که یک عدد 64 بیتی در دو خانه از حافظه به نام a1,a2 به شکل زیر ذخیره شده باشد.
63 32 31 0
A1
A2
عدد b نیز به طور مشابه دردو خانه b1,b2 در حافظه ذخیره شده است. برنامه بنویسید که این دو عدد 64 بیتی را با هم جمع کرده و حاصل را در خانه 64 بیتی c به طریق مشابه ذخیره نماید.
Dseg segment para public 'data'
A1 dd fa98h
A2 dd ffffh
B1 dd 3ffah
B2 dd aeo1h
C1 dd ?
C2 dd ?
Dseg ends
Sseg segment para stack 'stack'
Db 32 dap(?)
Sseg ends
Cseg segment para public 'code'
Assume cs: cseg,ds: dseg,ss: sseg
Start: move eax,a1
Add eax,b1
Mov c1,eax
Mov eax,a2
Adc eax,b2
Mov c2,eax
Cseg ends
End start
دستور subtraction:
فرم کلی sub destination,source:
در این دستور نیز مبدا و مقصد نمی توانند هم زمان به هم خانه ای از حافظه باشند حاصل اجرای دستور فوق به شکل زیر خواهد بود:
Destination=destination-source
دستورsubtraction with borrow:
فرم کلی sbb destination,source:
این دستور همانند دستور فوق است با این تفاوت که کری را نیز در نظر می گیرد.
Destination= destination-source-cf
دستورincrement:
فرم کلی inc destination:
مقصد می تواند ثبات یا محلی از حافظه باشد. این دستور به مقصد یک واحد اضافه می کند.
دستور decrement:
فرم کلی dec destination:
مقصد می تواند ثبات یا محلی از حافظه باشد. این دستور از مقصد یک واحد کم می کند.
دستور negative:
فرم کلی neg destination:
مقصد می تواند ثبات یا محلی از حافظه باشد. این دستور علامت مقدار دو دویی درمقصدراعوض می کند که بااستفاده ازمتمم راانجام می شود.
دستور muitiplication:
فرم کلی: mul source
فرم کلی: imul source
دستور mul جهت ضرب اعداد بی علامت و دستورimul جهت ضرب اعداد با علامت به کار می رود.source می تواند ثبات یا محلی از حافظه باشد در عمل ضرب یکی از پنج حالت زیر ممکن است:
1) ضرب یک بایت دریک بایت
2) ضرب یک کلمه در یک کلمه (کلمه=دوبایت)
3) ضرب یک بایت در یک کلمه
4) ضرب یک کلمه در یک کلمه مضاعف
5) ضرب یک کلمه مضاعف در یک کلمه مضاعف
در ضرب یک بایت در یک بایت:
مضروب در ثبات al و مضروب فی در source قرار می گیرد و نتیجه حاصل ضرب در ax ذخیره می شود.
source Ax=al
در ضرب یک کلمه در یک کلمه:
مضروب در ثبات ax و مضروب فی در source قرار می گیرد و حاصل ضرب در dx:ax ذخیره می کند.
source Dx:ax=ax
در ضرب یک کلمه مضاعب در یک کلمه مضاعف:
مضروب در ثبات eax و مضروب فی در source ذخیره و حاصل ضرب درedx:eaxقرار می گیرد.
source edx:eax=eax
در ضرب یک بایت در یک کلمه:
مضروب در al قرار می گیرد و سپس یکی از حالات زیر اتفاق می افتد.
الف) اگر عدد بی علامت باشد آنگاه ah صفر می شود.
ب) اگر عدد با علامت باشد آنگاه با استفاده از دستور cbw ثبات ah علامت عدد ذخیره شده در al را می گیرد.
سپس مضروب فی در source قرار میگیرد و حاصل ضرب در dx:ax قرار می گیرد.
source dx:ax=ah:al
در ضرب یک کلمه در یک کلمه مضاعف:
مضروب در ax قرار می گیرد و سپس یکی از دو حالت زیر اتفاق می افتد:
الف) اگر عدد بی علامت باشد آنگاه 16بیت با ارزش صفرمی شود.
ب) اگر عدد با علامت باشد آنگاه با استفاده از دستور cwd،16بیت با ارزش علامت عدد ذخیره شده در ax را می گیرد.
سپس مضروب فی در source قرار می گیرد و نتیجه ضرب در edx:eax ذخیره می شود.
sourceedx:eax=16b:ax
مثال)
alMul bh;ax=bh
16/9/84
دستور divistion:
فرم کلی: div source
فرم کلی: idiv source
دستور div جهت تقسیم اعداد بی علامت و دستور idiv جهت تقسیم اعداد با علامت مورد استفاده قرار می گیرد.source می تواند مکانی از حافظه یا ثبات باشد در عمل تقسیم یکی از چهار حالت زیر ممکن است اتفاق بیفتد:
1) تقسیم یک کلمه بر یک بایت
2) تقسیم یک بایت بر یک بایت
3) تقسیم یک کلمه مضاعف بر یک کلمه
4) تقسیم یک کلمه بر یک کلمه
تقسیم یک کلمه بر یک بایت:
مقسوم در ثبات ax قرارداده می شود و مقسوم علیه در source قرار می گیرد. پس از تقسیم خارج قسمت در ثبات al و باقیمانده در ثبات ah قرارمی گیرد.
source al=ax
ah=ax mod source
در تقسیم یک بایت بر یک بایت :
مقسوم در ثبات al قرار می گیرد و پس ثبات ah با توجه به نوع عدد (بی علامت یابا علامت) مقدار دهی می شود و با استفاده از دستور cbw همانطور که گفته شد و مقسوم علیه source قرار می گیرد. پس از تقسیم خارج قسمت در ثبات al و باقیمانده در ثبات ah قرار خواهد گرفت.
source al=ah:al
ah=ah:al mod source
3) در تقسیم یک کلمه مضاعف بر یک کلمه مقسوم در ثبات های dx:ax یا eax قرار می گیرد و مقسوم علیه در source قرار می گیرد پس از تقسیم خارج قسمت در ثبات dx و باقیمانده در ثبات ax قرار می گیرد.
sourcedx=dx:ax
ax=dx:ax mod source
4) در تقسیم یک کلمه بر یک کلمه مقسوم در ثبات ax قرار می گیرد و 16بیت با ارزش ax یا ثبات dx با توجه به نوع عدد ذخیره شده در ax مقدار دهی می شود با استفاده از دستور cwd همانطور که گفته شد. سپس مقسوم علیه در source قرار می گیرد پس از تقسیم خارج قسمت در dx و باقیمانده در ax قرار خواهد گرفت.
دستور العمل convert by to to word:
فرم کلی cbw:
این دستور با توجه به یک علامت ثبات al ثبات ah را مقدار دهی می کند اگر بیت علامت ثبات al یک باشد آنگاه کلیه بیت های ثبات ah یک خواهد شد که نشانگر منفی بودن عدد است و اگر بیت علامت ثبات al صفر باشد آنگاه کلیه بیت های ثبات ah صفر خواهد شد.
دستور العمل convert word t double:
فرم کلی cwd:
این دستور العمل با توجه به بیت علامت ax، ثبات dx و یا 16بیت با ارزش را مقدار خواهد داد اگر بیت علامت ثبات یک باشد آنگاه کلیه بیت های ثبات dx و یا 16بیت با ارزش یک خواهد شد که نشانگر منفی بودن عدد است و اگر بیت علامت ثبات ax صفر باشد آنگاه کلیه بیت های ثبات dx و با 16بیت با ارزش صفر خواهد شد.
دستورات منطقی:
این دستورات حتما بر روی flag ها تقسیم می گذارند و در تمامی این دستورات ترکیب خانه ی حافظه و خانه ی حافظه برای هر دو عملوند در زمان واحد غیر ممکن است.
دستورxor,or,and
And destination soure
Or destination source فرم کلی
Xor destination source
این دستورات روی بیت های متناظر مبدا و مقصد عملیات xor,or,and را انجام داده و حاصل را در مقصد ذخیره می کند توجه کنید که حتما باید انطباق باید بین مبدا و
مقصد برقرار باشد این دستورات روی zf,sf,pf,of,cf اثر می گذارد.
23/9/84
(a با استفاده از دستور and و یکی از ماسک های زیر می توان وضعیت یک بیت را که ست (یک) یا ری ست شده است معین کرد.
ماسک
شماره بیت
0001h
0
0002h
1
0004h
2
0008h
3
0010h
4
0020h
5
0040h
6
0080h
7
0100h
8
0200h
9
0400h
10
0800h
11
1000h
12
2000h
13
4000h
14
8000h
15
b) با استفاده از دستور or معمولا بیت های مختلف را setمی کنیم.
c) با استفاده از دستور xor معمولا تست عدم تساوی را انجام می دهیم.
دستور test:
فرم کلی test distination,source
این دستور دقیقا همانند دستور and است با این تفاوت که فقط روی flag ها تاثیر می گذارند و محتویات عملوندها را تغییر نمی دهد.
دستور not:
فرم کلی: not distination
این دستور مکمل یک مقصد را محاسبه کرده و در خود مقصد قرار می دهد. این دستور هیچ تاثیری روی ثبات flag ندارد.
دستورات shift یا انتقال:
این دستورات به دو دسته زیر تقسیم می شوند:
1) شیفت منطقی (logical shift)
2) شیفت محاسباتی (arithmetic shift)
دستورات چرخش یا rotate:
این دستورات به دو دسته زیر تقسیم می شوند:
1) چرخش با کری 2) چرخش بدون کری
دستورات شیفت و چرخش دارای فرم کلی زیر هستند:
Command destination,count
که در آن Command اسم دستورdestination مقصد و count تعداد دفعات تکرار عمل انتقال یا دوران است.
انتقال منطقی:
عمل انتقال به راست منطقی به شکل زیر است که در آن اولین بیت در cf قرار می گیرد و سمت چپ صفر وارد بیت آخری می شود و تمام بیت ها به راست منتقل می شود.
0 cf 7
0
فرم کلی دستورآن به شکل زیر است:
فرم کلی: shr destination,count
عمل انتقال به چپ منطقی به شکل زیر است که درآن آخرین بیت در cf قرار می گیرد و از سمت راست صفر وارد بیت اول می شود و تمام بیت ها به چپ منتقل می شود.
07cf
0
فرم کلی آن به شکل زیر است:
shl destination,count
برای اعداد بی علامت می توان از شیفت منطقی استفاده کرد و خطایی نیز به وجود نمی آید اما در اعداد با علامت اگر تغییر علامت نا خواسته رخ دهد با خطای over flow مواجه می شود برای حل این مشکل از شیفت محاسباتی استفاده می کنیم.
انتقال محاسباتی:
از دستورات انتقال محاسباتی برای انجام عمل انتقال روی اعداد با علامت استفاده می کنیم.
cf07
عمل انتقال به راست محاسباتی به شکل زیر است که در آن اولین بیت در cf قرار می گیرد و بیت علامت در خودش کپی می گردد و بدین وسیله از تغییر علامت ناخواسته جلوگیری می شود.
فرم کلی آن به شکل زیر است:
Sar destination,count
عمل انتقال به چپ محاسباتی به شکل زیر است که درآن آخرین بیت که همان بیت علامت است در cf قرار می گیرد و از سمت راست صفر وارد بیت اول می شود و بیت ها به چپ انتقال می یابند.
07cf
0
فرم کلی آن به شکل زیر است:
Sal destination,count
نکته ها:
1) عمل انتقال به چپ محاسباتی و منطقی کاملا شبیه به هم می باشند. توجه کنید که در انتقال به چپ محاسباتی بیت علامت وارد cf می شود و بنابراین خودکار می تواند مثبت یا منفی بودن عدد را با توجه به مقدار cf تشخیص دهد.
2) هر شیفت به راست محاسباتی یا منطقی معادل با تقسیم صحیح آن عدد بر2و هر عمل شیفت به چپ محاسباتی یا منطقی معادل با ضرب آن عدد در2می باشد.
3) مقدار cout در این دستورات می تواند یک مقدار ثابت یا ثبات cl باشد.
چرخش بدون کری:
عمل چرخش به راست بدون کری به شکل زیر است که در آن اولین بیت هم در cf و هم در بیت آخر قرار می گیرد.
cf0 7
Cf
Ror destination,count :فرم کلی
عمل چرخش به چپ بدون کری به شکل زیر است که در آن بیت آخر هم در cf و هم در بیت اول قرار می گیرد.
o7cf
Rol destination,count :فرم کلی
عمل چرخش به راست با کری به شکل زیر است که درآن اولین بیت در carry و کری در بیت آخر قرار می گیرد.
cf o7
فرم کلی آن به شکل زیر است:
Rcr destination,count
عمل چرخش به چپ با کری به شکل زیر است که در آن آخرین بیت در کری و کری در بیت اول قرار می گیرد.
07cf
فرم کلی آن به شکل زیر است:
Rcl destination,count
نکته ها:
1) عمل چرخش بر خلاف عمل انتقال ارزش محاسباتی ندارد.
2) مقدار count در این دستورات می تواند یک مقدار ثابت یا ثبات cl باشد.
30/9/84
دستورات انشعاب branch:
این دستورات به دو دسته تقسیم می گردند :
1) انشعاب غیر شرط (unconditional branch).
2) انشعاب شروط (conditional branch).
در انشعاب غیر شروط مقدار ip بدون هیچ شرط خاصی عوض می گردد در حالی که در انشعاب شروط مقدار ip در صورتی عوض می شود که شرط خاصی برقرار باشد این دستورات دارای فرم کلی زیر می باشند:
Jx address
توجه کنید که انشعاب باید درون سگمنتی باشد یعنی نمی توان از یک سگمنت به سگمنت دیگر انشعاب انجام داد.
انشعاب غیر شرطی:
Jmp [short] address
آدرس ذکر شده در این دستور همان label دستور خاص می باشد اگر از کلمه ی short استفاده شود حداکثر تغییر ممکن در مقدار ip بین 127 و 128 – است یعنی آدرس ذخیره شده در ip حداکثر می تواند 127 بایت و حد اقل می توند 128 – بایت جابجا شود در صورتی که تغییر آدرس در ip بیشتر از بازه ی فوق باشد نباید از کلمه ی short استفاده کرد استفاده از کلمه ی short به منزله ی صرفه جویی در تولید یک بایت کد زبان ماشین هنگام تولید فایل اجرایی صورت می گیرد.
انشعاب شروطی:
دستورات انشعاب شرطی به سه دسته تقسیم می شوند:
1) انشعاب اعداد بی علامت
2) انشعاب روی اعداد با علامت
3) سایر انشعاب ها
تقسیم می شوند.
1) انشعاب روی اعداد بی علامت:
دستورات آن به فرم کلی زیر هستند:
کد زبان ماشین
شرط انتقال
شرح دستور
دستور
77
Cf=Zf=0
Jump if above
Ja addr
73
Cf=0
Jump if above or equal
Jae addr
72
Cf=1
Jump if below
Jb addr
76
Cf=1 or Z=1
jump if below or equal
Jbe addr
76
Cf or Zf=1
jump if not above
Jna addr
72
Cf=1
jump if not above or equal
Jnae addr
73
Cf=0
jump if not below
Jnb addr
77
Cf=Zf=0
jump if not below or equal
jnbe
2) انشعاب روی اعداد با علامت:
دستورات آن به شکل کلی زیر می باشند:
کد زبان ماشین
شرط انتقال
شرح دستور
دستور
7f
Sf=of and zf=0
Jump if greater
Jg addr
7d
Sf=0f
Jump if greater or equal
Jge addr
7c
sf≠of
Jump if less
Jl addr
7e
sf≠of or zf=1
jump if less or equal
Jle addr
7c
sf≠of or zf=1
jump if not greater
Jng addr
7d
Sf=of
jump if not less
Jnl addr
7f
Sf=of and zf=0
jump if not less or equal
Jnle addr
3)انشعاب های دیگر:
کد زبان ماشین
شرح انتقال
شرح دستورات
دستور
72
Cf=1
Jump if carry
Jc addr
E3
Cx=0
jump if cx is ziro
Jcxz addr
74
Zf=1
jump if equal
Je addr
73
Cf=0
jump if not carry
Jnc addr
75
Zf=0
jump if not equal
Jne addr
71
Of=0
jump if not overflow
Jno addr
7b
Pf=0
jump if not parity
Jnp addr
79
Sf=0
jump if not sign
Jns addr
75
Zf=0
jump if not ziro
Jnz addr
70
Of=1
jump if overflow
Jo addr
7a
Pf=1
jump if parity
Jp addr
7a
Pf=1
jump if is even
Jpe addr
7b
Pf=0
jump if is odd
Jpo addr
78
Sf=1
jump if sign
Js addr
74
Zf=1
jump if ziro
Jz addr
دستور compare:
Cmp destination,source :فرم کلی
مبدا و مقصد این دستور مانند دستورات منطقی تعیین می شود. این دستور تغییری در مقصد حاصل نمی کند. و فقط flag ها را تغییر می دهد. در این تفضل مبدا و مقصد محاسبه شده و برا اساس flag ها تغییر می کند. بعد از دستور test و cmp حتما باید یک دستور انشعاب مشروط یا عملکردی روی flag ها صورت بگیرد و گرنه با اجرای دستور دیگر flag ها تغییر خواهند کرد.
اعداد با علامت
اعداد بی علامت
شرط انتقال بعد از دستور cmp
jg
ja
Destination > source
jge
jae
destination >= source
jl
jb
destination < source
jle
jbe
destination <= source
je
je
destination = source
jne
jne
source destination
حلقه ها:
فرم کلی یک حلقه به شکل زیر است:
Label
دستورات حلقه
Loop label
در دستور loop انتساب مقدار اولیه به ثبات cx الزامی است. محتویات ثبات cx تعداد دفعات تکرار دستورات بدنه ی حلقه را مشخص می کند. با هر بار اجرای دستورات loop از ثبات cx یکی کم می شود و سپس اگر cx صفر نباشد کنترل به دستورل جلوی برچسب حلقه باز می گردد. ولی اگر ثبات cx صفر شده باشد حلقه تمام می شود و کنترل به دستور بعد دستور loop منتقل می شود.
نکته:
شمارنده حلقه یعنی ثبات cx را نمی توان داخل حلقه کم یا زیاد کرد.
بدون استفاده از دستور loop نیز می توان حلقه ها را شبیه سازی کرد. چون دستور loop معادل دو دستور jmp,jcxz می باشد .
؟
دستور loope/loopz:
همانند دستور loop می باشد با این تفاوت که 0cx و zf=1(zf=0) باشد.
ارتباط حیوانات عبارتست از هرگونه رفتار انجام شده از طرفیک حیوان که دارای تاثیر بر روی رفتار کنونی یا بعدی سایر حیوانات است. مطالعهرفتار حیوانات که zoosemiotics نامیده می شود، نقش بسیار مهمی در پیشرفت رفتارشناسیجانوری ،زیستشناسیجانوری و نیز بررسی ادراک حیوانات دارد. پروژه ارتباطات حیوانات شاملیک نگاه اجمالی به علم ارتباط حیوانات و به هنگام سازیهای منظم درباره تحقیقات علمیکنونی درباره آن می باشد.
ارتباطات درون گونه ای در مقایسه با ارتباطات بین گونه ای
گیرنده یافرستنده یک پیام ارتباطی ممکن است از یک گونه یا از گونه هایی مختلف باشند. اکثرارتباطات حیوانات درون گونه ای ( بین دو یا چند حیوان از گونه ای مشابه) است امانمونه های مهمی از ارتباطات بین گونه ای وجود دارد. همچنین احتمال ارتباط بین گونهای و روشهای آنها ، آزمون مهمی برای بعضی ازالگوهای نظری درباره ارتباط حیوانات میباشد.
ارتباط درون گونه ای
طعمه با شکارچـــــــی
اگر یک طعمه حرکت کند و یا به گونهای تولید صدا نماید که توجه یک حیوان شکارچی را به خود جلب نموده و شکار شود ،مصداق تعریف "ارتباط حیوانات" است که در بالا به آن اشاره شد. با این وجود؛ در نظرگرفتن چنین موردی بعنوان ارتباط برای ما کافی نیست و این عدم رضایت موجب می شود تابه نحوی تعریف ارتباط را به شکل یکی از دو تعریف زیر تغییر دهیم : 1)عموماًارتباط باید مزیت توافق پذیرپیام دهنده باشد. 2)ارتباط ، در برگیرنده چیزی بیشاز نتایج اجتناب ناپذیر زندگی عادی حیوانات است. بنابراین گونه های شکار شوندهدارای برخی عملکردها هستند که برای شکارچیان واقعی یا بالقوه ظاهراً نقش ارتباطیدارند. یک نمونه خوب برای آن رنگ هشدار دهنده می باشد: گونه هایی مانندزنبورهاکهتوانایی آسیب رساندن به شکارچیان بالقوه را دارند اغلب دارای رنگهای روشن هستند واین مسئله موجب تغییر رفتار شکارچیانی می شود که یا بصورت غریزی و یا در نتیجهتجربه از حمله به چنین حیواناتی دوری می کنند. بعضی از انواع تقلیدها جزو اینمقوله می باشند: مثلاً نوعی از پرندگان که به رنگ زنبورها هستند اگرچه قادر به نیشزدن نمی باشندhoverflies از مصونیتی همانند آنچه که زنبورها در برابر شکارچیاندارند برخوردار می باشند. علاوه بر این بعضی تغییرات رفتاری نیز وجود دارند کههمانند رنگ هشدار دهنده عمل می کنند. مثلاً ممکن است گونهسگ سانانازجملهگرگهاوکایوتهایک حالت تهاجمی مثل غرش با دندانهایآشکار به خود بگیرند تا نشان دهند در صورت نیاز حمله خواهند کرد. مارهایزنگی نیز از صدایمعروف خود استفاده می کنند تا به شکارچیان بالقوه نسبت به نیش زهرآگینی که دارندهشدار دهند. گاهی اوقات تغییرات رفتاری و هشدارهای رنگی ترکیب می شوند مانند گونههای خاصدوزیستانکه دارای شکمهای رنگ روشن هستند اما روی سایربخشهای بدن آنها رنگهایی به منظورترکیب با محیط اطرافشان دیده می شود. این دوزیستان در صورت مواجهه با خطر شکم خودرا نشان می دهند تا بدینوسیله به نحوی سمی به نظر برسند. مثال بحث برانگیز تردیگر در این مورد ردیابی است که حالتی بسیار قابل توجه از نحوه دویدن است که بعضیازغزال هامانند غزال تامسون در حضور یکشکارچی از خود نشان میدهند. این نوع دویدن به شکارچی ثابت میکند که آن طعمه سرحال وقبراق است و بنابراین ارزش تعقیب ندارد البته بر سر این موضوع اختلاف نظر وجوددارد.
شکارچی با طعمه
بعضی از شکارچیان به گونه ای با طعمه ارتباطبرقرار می کنند تا موجب تغییر رفتار آنها و در نتیجه شکار آسانتر آنها شوند در واقعآنها را فریب می دهند.مثال معروف در این موردماهیماهیگیر است کهدارای یک زائده گوشتدار برآمده از روی پیشانی هستندکه در جلوی فکهای آن آویزان است؛ ماهیهای کوچکتر میکوشند تا این طعمه را صید کنند و در اثر این اقدام کاملاٌ درمعرض شکار ماهی ماهیگیر قرار می گیرند.
گونه های همزی
ارتباطات درون گونه ای در انواع مختلفی از همیاریو همزیستی نیز وجود دارند. مثلاً درسیستم ماهی پاک کننده یا
ماهی خاردار. ماهیهایخاردار با استفاده از حالت خاصی توانایی خود را برای تمیز کردن نشان می دهند.
ارتباط انسان و حیوانات
روشهای مختلفی که در آنها بشر در رفتارحیوانات اهلی مداخله کرده یا به آنها دستور می دهد، تعریف ارتباطات درون گونه ای رافراهم می نماید. این ارتباطات براساس نوع بافت ممکن است ارتباط شکارچی با طعمه یاشکلی از همزیستی به حساب آید. شاید مطالعات اخیر در مورد زبان حیوانات مهمترینتلاشی باشد که تاکنون بر روی ارتباطات انسان و حیوان انجام شده اگرچه رابطه آنها باارتباطات طبیعی حیوانات ناشناخته است.
ارتباط بین گونه ای
اکثرارتباطات حیوانات، بین گونه های مجزا انجاممی شود و این بافتی است که در آن بیشترین تحقیقات انجام شده است.
اقسام ارتباط
بیشتر انواع ارتباطاتی که در ذیل به آنها اشاره می شود درارتباطات درون گونه ای هم وجود دارند. معروف ترین نوع ارتباط ، نمایاندن بخشهایخاص بدن یا حرکتهای خاص بدن است که اغلب بصورت ترکیبی انجام می شوند. یعنی از انجامحرکات خاص بدن به منظور نمایاندن بخش خاصی از بدن استفاده می شود.مثالی که درتاریخچه رفتار شناشی وجود داردگاکی شمالیاست که درون لانه منقار خود رابه جوجه نشان می دهد. گاکی شمالی مانند بسیاری از مرغان نوروزی ، دارای منقاری بهرنگ روشن با نقاطی زرد یا قرمز رنگ روی فک پایینی نزدیک نوک آن می باشد. شکلمهم دیگری از ارتباط صدای پرندگان است که معمولاً توسط پرنده نر انجام می شود؛اگرچه در بعضی از گونه ها جنس نر و ماده به ترتیب آواز می خوانند( به این حالت دوصدایی گفته می شود). آواز پرندگان معروف ترین حالت در ارتباطات صوتی محسوب می شود؛مثالهای دیگر عبارتند از فریادهای هشداردهنده بسیاری ارمیمونها، صداهایمنطقــــه ایگیبونهاو آواهای جفتگیری بسیاری از گونههایقورباغه ها. مورد دیگری که کمتر مشهوداست ( بجز درچند مورد) ارتباط بویایی نامیده می شود. به ویژه بسیاری ازپستانداراندارای غده هایی هستند که بوهایی خاص و پر دوام تولید می کنند و در مکانهایی که حضورداشته اند با بجای گذاشتن این بوها رفتاری همانند انجام می دهند. اغلب این بوهایمعطر از ادرار یا مدفوع آنها بوجود می آیند. گاهی اوقات این بو از طریق عرق آنهاساطع می شود اگرچه این حالت به پایداری بوهایی که در حالت قبلی هستند نمی باشد.بعضیحیوانات غده هایی دارند که ظاهراً تنها عملکرد آنها ایجاد علائم بویایی است. مثلاًموشهای صحرایی مغولی دارای یک غده بویایی بر روی شکمهایشان می باشند و با یک حرکتاصطکاکی شکمی خاص بر روی آن ، بو تولید می شود. همستر طلایی وگربه هادارای غدد تولید بو روی پهلوهایشانهستند که با مالش پهلوی آنها بر روی اشیـاء تولید بو می کنند. گربه ها نیز غددتولید بو بر روی پیشانی خود دارند. زنبورها نیز به همراه خود کیسه هایی حاوی موادکندو را حمل می کنند که در هنگام ورود مجدد به کندو آنها را آزاد می کنند این بونشان می دهد که زنبور به همین کندو تعلق دارد و بی خطر وارد کندو می شوند.
عملکرد ارتباطات
درحالیکه تعداد انواع روشهای ارتباطی به تعداد انواعرفتارهای اجتماعی است ، بعضی عملکردها به صورتی خاص مورد بررسی قرار گرفته اند . آنها عبارتند از :
فعل و انفعالات مشاجره ای :هرچیزی که بصورت رقابتی و تهاجمی بین حیواناتانجام شود. گونه های بسیار زیادی هستند که تهدیدات مشخصی را در زمان مبارزه بر سرغذا ، جفت و یا منطقه زندگی نشان می دهند ؛ بیشتر آواز پرندگان عملکردهایی اینچنیندارند. اغلب در این حالت یک نمایش فرمانبرداری هماهنگی وجود دارد که اگر حیوانتهدید شده ، تسلط اجتماعی مهاجم را تایید کند آنرا انجام می دهد؛ این کار برایپایان دادن به تجاوز مهاجم تاثیر داشته و در این جدل موجب عدم دسترسی نامحدود حیوانمسلط به منابع می گردد. بعلاوه، بعضی گونه ها دارای حرکاتی مرتبط می باشند که براینشان دادن پذیرش حضوردیگران توسط حیوان مسلط انجام می شوند.
مراسم عشق ورزی :به علائمی گفته می شود که یک جنس برای جلب توجه یا حفظتوجه جنس مستعد و یا برای پیوند جفتها انجام میدهد. انجام این کار مستلزم حرکاتمکرر بخشهای بدن، انتشار بو و یا صداهایی است که مختص اعضای آن گونه می باشد لذامانع جفتگیری اعضای گونه ای خاص با گونه های نازای دیگرمی گردد. حیواناتی که بصورتجفتهایی پایدار هستند اغلب دارای نمایشهایی همانند می باشند که جفت ها برای همانجام می دهند و نمونه های معروف عبارت اند از: اهدای متقابل علف بوسیله شانه بهسرها که Julian Huxley آن را مورد مطالعه قرار داده و نیز نمایش شادمانی که بسیاریاز گونه هایغازهاوپنگوئــن هادر لانه هایشان انجام می دهند .
علائم مربوط به غذا:بسیاری از حیوانات بانگ غذا سر می دهند تابدینوسیله توجه جفت ، بچه هایشان و یا اعضای یک گروه دسته اجتماعی را به یک منبعغذایی جلب کنند.هنگامیکه والدین به تغذیه بچه هایشان مشغولند این بچه ها اغلبدرخواست پاسخ میکنند( بخصوص هنگامیکه بچه های زیادی در یک لانه یا میان زباله هاوجود دارد. مثلاً این حالت در بین پرندگان آوازخوان دیررس – جوجه هایی که مدت زیادیتوسط مادر تغذیه می شوند- وجود دارد). شاید دقیق ترین علامت مربوط به غذا ، زبانرقص زنبورهای عسل باشد که Karl von Frisch آنرا مورد بررسی قرار داده است اگرچه درحال حاضر توضیحات او مورد بحث قرار گرفته است.
اصوات هشداردهنده :علائمی است که هنگام وجود خطر شکارچی ایجاد می شود وبه اعضای گروه امکان می دهد (و اغلب به اعضای سایر گروه) تا فرار کرده ، بی حرکتشده و یا برای کاهش احتمال حمله به گرد هم آیند.
فرا ارتباطی :به علائمی گفته می شود که معنی پیامهای بعدی را تغییر میدهد. بهترین نمونه آن حرکات صورت در سگها است که نشان میدهد علامت تهاجمی بعدی بهجای پیش در آمد تهاجم واقعی ، بخشی ازبازی محسوب می شود.
ارزیابی ارتبــــاط
اهمیت ارتباط از این نظر آشکار می گردد که حیواناتدارای اجزای حساسی در بدن خود می باشند که انجام ارتباط را تسهیل می کند. آنها شاملبعضی ساختارهای بسیار جالب در عالم حیوانات می باشند مانند دمطاووس. به نظر می رسد نه تنها اندام موجبآوازپرندگاناست بلکه ساختارهای مغز نیز کلاًجهت تولید آواز اختصاص یافته اند. حتی نقطه قرمز روی منقار گاکی شمالی و عمل خم شدنآن که بسیار عادی اما ویژه این حیوان است ، نیاز به توضیحات تکاملی دارد. برایتوضیح مورد نیاز ، دو جنبه وجود دارد:
تعیین مسیری که بوسیله آن حیوانی که فاقد ویژگی یا رفتارمربوط است آنرا بدستآورد.
شناخت فشاری سازش پذیر به منظور رشد ساختارهایی از حیوان که موجب تسهیل ارتباط، صدور پیامهای ارتباطی و پاسخ به آنها می شود.
تاثیر عملی بر روی اولینگروه از این مشکلات توسط Konrad Lorenz و سایر رفتار شناسان قبلی انجام شد. آنها بامقایسه گونه های مرتبط بصورت گروهی ثابت نمودند حرکات و اجزای بدن که به شکلابتدایی و و فاقد عملکردهای ارتباطی هستند می توانند در بافتی قرار بگیرند که عملارتباط برای یکی از والدین یا هردوی آنها بوجود آید و نیز می توانند به شکل مدلیتخصصی تر و دقیق تر تکامل یابند. مثلاً Desmond Morris با مطالعه بر روی گونه ای ازسهرهنشان داد که تمیز کردن بدن با منقاربصورت یک پاسخ در بین یک سری از گونه ها دیده می شود اما این کار در برخی از گونهها به شکل علامت عشق ورزی تبدیل شده است. دومین گروه از مشکلات بحث انگیزتراست. رفتارشناسان قدیمی بر این باور بودند که کلاً ارتباط بصورت دائمی در گونه هاوجود دارد اما این امر نیازمند فرآیند انتخاب گروه است که گمان می رود به صورت دقیقدر تکامل حیوانات دارای جفتگیری غیر ممکن باشد. این یک روان آگاهی اساسی درزیستشناسیاجتماعی بشمار می رفت یعنی شاید رفتاریکه یک گروه از حیوانات انجام میدهند از فعالیت فشارهای گزینشی که صرفاً بر روی افراد آن گروه اعمال می شود ناشیشده باشد. بحث بسیار مهمی که در مورد ارتبـاط توسط John R. Krebs و Richard Dawkins انجام گرفته ، نظریه ای را به عنوان فریادهای هشدار دهنده و علائم عشق ورزی در موردتکامل چنین ارتباطات به ظاهر ایثارگرانه و متقابل بوجود می آورد که هنگام گزینشافراد گروه نمایان می شود. این فرضیه منجر به این نتیجه گیری می شود که شایدارتباطات همیشه قابل اعتماد نباشند (در واقع نمونه های واضحی وجود دارند که ایننظریه را نفی می کنند مانند آنچه که در تقلید می بینیم).احتمال وجود ارتباطاتغیرقابل اطمینان پایدار و تکاملی موضوعی مورد اختلاف می باشدمخصوصاً Amotz Zahavi معتقد است این حالت در مدت زمان طولانی نمی تواند وجود داشته باشد.زیست شناساناجتماعی نیز با تکامل ساختارهایی که بیش از حد معمول علامت می دهند سرو کار دارندمانند دم طاووس. به احتمال زیاد این علائم می توانند فقط در نتیجه گزینش جنسینمایان و فرآیند واکنش مثبتی را ایجاد نمایند که با بزرگنمایی یکی از خصوصیات مزیتیرا در رقابت انتخاب جفت بوجود می آورد.
ارتباط و درک
رفتارشناسان و زیست شناسان اجتماعی از نظر تعداد پاسخهایخودکاری که حیوانات به محرکها نشان می دهند به بررسی ارتباطات حیوانات پرداخته اندآنها این تحقیق را بدون توجه به درک معانی علائم دریافتی و ارسالی توسط حیواناتانجام داده اند. این موضوع یک سوال کلیدی در ادراک حیوانات است . برخی سیستمهایعلامت دهنده وجود دارند ظاهراً نیازمند ادراک بیشتری هستند. یکی از این نمونه هاییکه شدیداً مورد بررسی قرار گرفته استفاده از فریادهای هشداردهنده در میمونهایوروتاست. Richard Seyfarth و Dorothy Cheney ثابت کردند که این حیوانات در حضور شکارچیان مختلف ، علائم متفاوتی از خودنشان می دهندپلنگها،عقابهاومارهاو سایر میمونها کهصداها را دریافت می کنند پاسخهای مناسبی از خود نشان می دهند . اما این توانایی درطول زمان ایجاد می شود و تجربیات افراد ارسال کننده صدا مورد توجه قرار می گیرد. فرا ارتباط که در بالا به آن اشاره شد نیز ظاهراً به فرآیند ادراکی پیچیده تری نیازدارد.
ارتباط حیوانات و رفتار انسان
موضوع مورد بحث دیگر محدوده ای است که در آنانسان دارای رفتاری شبیه ارتباط حیوانات می باشد، یا این که آیا تمامی چنین ارتباطیدر نتیجه توان زبانی ما ناپدید می شود. برخی از اجزای بدن ما مثل ابروها ، ریش وسبیل ، صدای کلفت مردها و شاید سینه خانمها به میزان بسیار زیادی برای تولید علائمشکل گرفته اند. رفتار شناسانی مانند Iraneaus Eibl-Eibesfeldt بر این باورند کهحالتهای صورت از قبیل خنده ، اخم و حرکتهای ابرو هنگام استقبال ، علائم ارتباطی وجهانی انسان هستند که می توان آنها را با علائم مشابه در سایر موجودات نخستین مرتبطدانست. با توجه به تأخر مشخصی که به وسیله آن زبان گفتاری شکل گرفته است احتمالدارد ارتباطات غیر کلامی انسان شامل تعدادی از پاسخهای غیر ارادی باشد که باارتباطاتی که ما در سایر حیوانات مشاهده می کنیم منشاء مشابهی دارند. انسانهااغلب برای رفتار با حیوانات به دنبال علائم ارتباطی حیوانات تقلیدگر هستند. مثلاًگربه ها دارای پاسخهای مرتبط آرامی ازجمله شامل بستن چشمهایشان می باشند ؛ انسان هماغلب برای ایجاد ارتباط ، چشمهایش را به طرف یک بچه گربه می بندد. نوازش و مالشفرزندان حیوانات همگی اعمالی هستند که شاید از الگوهای طبیعی ارتباطات میان گونه ایبوجود آمده است.
سامانه خرید و امن این
سایت از همهلحاظ مطمئن می باشد . یکی از
مزیت های این سایت دیدن بیشتر فایل های پی دی اف قبل از خرید می باشد که شما می
توانید در صورت پسندیدن فایل را خریداری نمائید .تمامی فایل ها بعد از خرید مستقیما دانلود می شوند و همچنین به ایمیل شما نیز فرستاده می شود . و شما با هرکارت
بانکی که رمز دوم داشته باشید می توانید از سامانه بانک سامان یا ملت خرید نمائید . و بازهم
اگر بعد از خرید موفق به هردلیلی نتوانستیدفایل را دریافت کنید نام فایل را به شماره همراه 09159886819 در تلگرام ، شاد ، ایتا و یا واتساپ ارسال نمائید، در سریعترین زمان فایل برای شما فرستاده می شود .
آدرس خراسان شمالی - اسفراین - سایت علمی و پژوهشی آسمان -کافی نت آسمان - هدف از راه اندازی این سایت ارائه خدمات مناسب علمی و پژوهشی و با قیمت های مناسب به فرهنگیان و دانشجویان و دانش آموزان گرامی می باشد .این سایت دارای بیشتر از 12000 تحقیق رایگان نیز می باشد .که براحتی مورد استفاده قرار می گیرد .پشتیبانی سایت : 09159886819-09338737025 - صارمی
سایت علمی و پژوهشی آسمان , اقدام پژوهی, گزارش تخصصی درس پژوهی , تحقیق تجربیات دبیران , پروژه آماری و spss , طرح درس
مطالب پربازديد
متن شعار برای تبلیغات شورای دانش اموزی تحقیق درباره اهن زنگ نزن انشا در مورد 22 بهمن