close
تبلیغات در اینترنت
نحوه برنامه نویسی
مرورگرهای پیشنهادی :
موضوعات
  • پایان نامه و مقاله فنی مهندسی
  • مهندسی برق ، الکترونیک ، مخابرات
  • مهندسی فناوری اطلاعات
  • مهندسی کامپیوتر
  • مهندسی مکانیک
  • مهندسی عمران
  • مهندسی معماری
  • مهندسی ساخت و تولید
  • مهندسی منابع طبیعی
  • مهندسی کشاورزی
  • مهندسی شیلات
  • مهندسی صنایع
  • مهندسی مواد
  • مهندسی نقشه برداری
  • مهندسی تاسیسات
  • مهندسی شیمی
  • مهندسی متالوژی
  • مهندسی نساجی
  • مهندسی معدن
  • مهندسی نفت
  • محیط زیست
  • جوشکاری
  • پایان نامه و مقاله علوم انسانی
  • حقوق
  • اقتصاد
  • مدیریت
  • جغرافیا
  • جهانگردی
  • حسابداری
  • تربیت بدنی
  • ادبیات فارسی
  • علوم سیاسی
  • علوم اجتماعی
  • مدیریت صنعتی
  • مدیریت روابط عمومی
  • احکام و معارف اسلامی
  • روانشناسی و علوم تربیتی
  • گرافیک
  • هنر
  • بیمه
  • تاریخ
  • موسیقی
  • صنایع دستی
  • پایان نامه و مقاله پزشکی
  • علوم آزمایشگاهی
  • بهداشت عمومی
  • طب هسته ای
  • چشم پزشکی
  • جنین شناسی
  • روان پزشکی
  • دندانپزشکی
  • پیراپزشکی
  • دامپزشکی
  • طب سنتی
  • داروسازی
  • پرستاری
  • پزشکی
  • مامایی
  • آناتومی
  • ژنتیک
  • پایان نامه و مقاله علوم پایه
  • زیست شناسی
  • زمین شناسی
  • دندانپزشکی
  • دامپزشکی
  • پزشکی
  • فیزیک
  • پاورپوینت و اسلاید فنی مهندسی
  • پاورپوینت معماری
  • پاورپوینت کامپیوتر و IT
  • نمونه سوالات استخدامی
  • نمونه سوالات استخدامی بانک
  • نمونه سوالات استخدامی آموزش و پرورش
  • نمونه سوالات استخدامی شهرداری
  • نمونه سوالات استخدامی تامین اجتماعی
  • نمونه سوالات استخدامی دستگاه اجرایی
  • نمونه سوالات استخدامی فنی و حرفه ای
  • نمونه سوالات استخدامی وزارت خانه ها
  • نمونه سوالات استخدامی نظامی
  • سایر نمونه سوالات استخدامی
  • جزوات دانشگاهی
  • جزوات دروس مشترک دانشگاهی
  • جزوات مهندسی برق
  • جزوات مهندسی مکانیک
  • جزوات مهندسی عمران
  • جزوات رشته حسابداری
  • جزوات مهندسی فیزیک
  • جزوات مهندسی معماری
  • جزوات مهندسی ریاضی
  • جزوات مهندسی صنایع
  • جزوات مهندسی شیمی
  • جزوات مهندسی کامپیوتر و IT
  • جزوات رشته زمین شناسی
  • جزوات رشته روانشناسی
  • جزوات مهندسی مخابرات
  • جزوات رشته مدیریت
  • جزوات تربیت بدنی
  • جزوات حقوق
  • گزارش کارآموزی فنی مهندسی
  • مهندسی کامپیوتر (سخت افزار - نرم افزار)
  • مهندسی مکانیک
  • مهندسی برق
  • مهندسی شیمی
  • مهندسی فناوری اطلاعات
  • صنایع غذایی
  • حسابداری
  • مدیریت
  • مطالب پربازدید
    مطالب تصادفی
    مطالب پیشین
  • بررسی رابطه تيپ های شخصيتی دبيران دبيرستانهای دخترانه با میزان موفقیت (پنجشنبه 13 اردیبهشت 1397)
  • بررسی پيش تجربی سياهه مشاوره ای لوئيس سوال هاي شماره 3 تا 45 (از مقياس اطمينان اجتماعی) (پنجشنبه 13 اردیبهشت 1397)
  • بررسی مقدماتی شخصيتی كرنل براي سوال 36 و 37 بر روي دانشجويان دانشگاه آزاد اسلامي (پنجشنبه 13 اردیبهشت 1397)
  • مقايسه مشكلات زبان عادی ويژه (چهارشنبه 12 اردیبهشت 1397)
  • مقایسه ویژگی های شخصیتی شخصیت ضد اجتماعی و انحرافات اجتماعی در بین دانشجویان دختر و پسر (جمعه 07 اردیبهشت 1397)
  • بررسی رابطة تك فرزندی با اختلالات رفتاری (چهارشنبه 05 اردیبهشت 1397)
  • بررسی توصيفی موسيقی و موسيقی درمانی بر روی انسان ها (چهارشنبه 05 اردیبهشت 1397)
  • بررسی تأثير ناكامی در ميزان پرخاشگری بين دانش آموزان دختر و پسر مقطع ابتدايی (چهارشنبه 05 اردیبهشت 1397)
  • بررسی ميزان تأثير اردوهای تربيتی ـ آموزشی بر رشد شخصيت دانش آموزان (چهارشنبه 05 اردیبهشت 1397)
  • نياز سنجی كاركنان اطلاعات (چهارشنبه 05 اردیبهشت 1397)
  • مقايسه هوش هيجانی و جرأت ورزی در دانش‌آموزان دختر و پسر نابينا و عادی (چهارشنبه 05 اردیبهشت 1397)
  • مقایسه میزان هیجان خواهی دانشجویان متأهل و مجرد (چهارشنبه 05 اردیبهشت 1397)
  • مددکاری (چهارشنبه 05 اردیبهشت 1397)
  • بررسی علل گرايش جوانان و نوجوانان به قرص های روان گردان (چهارشنبه 05 اردیبهشت 1397)
  • شناسايی نيازهای آموزشی و ترويجی توتون کاران (چهارشنبه 05 اردیبهشت 1397)
  •  

    هر برنامه شامل يک يا چند سگمنت است. هنگامی که برنامه دارد اجرا می شود ثبات های سگمنت به سگمنت های جاری اشاره می کنند. چهار سگمنت را در آن واحد می توان داشت؛ کد، داده، پشته و ‌اضافی. در مد حقيقی هر سگمنت حداکثر 64KB است. البته معمولا برنامه ها کمتر از 64KB را استفاده می کنند. اسمبلر اندازه سگمنت را بر اساس تعداد بايت های مورد استفاده سگمنت تنظيم می کند. بنابراين اگر برنامه ای برای نمونه تنها 10KB برای ذخيره داده نياز دارد سگمنت داده 10KB می شود نه 64KB.

    برنامه های .exe سه سگمنت اول را بايد داشته باشند.

    • سگمنت داده برای ذخيره متغيرهاست. آدرس متغيرها به صورت آفستی از شروع اين سگمنت محاسبه می شوند.
    • سگمنت کد شامل دستورالعمل های اجرائی برنامه است.
    • سگمنت پشته برای نگهداری داده های موقتی و آدرس های برگشتی از برنامه پشته رزرو می شود. آدرس های پشته به صورت آفستی از ابتدای اين سگمنت محاسبه می شوند.

    وقتی اجرای برنامه آغاز می شود سيستم عامل دو ثبات سگمنت CS و SS را برای اشاره به کد برنامه و سگمنت پشته مقداردهی می کند. برای دسترسی به سگمنت داده ثبات ds بايد حاوی آدرس سگمنت داده باشد. قبل از دسترسی به هر داده ای برنامه بايد آدرس سگمنت را در ثبات DS ذخيره کند.

    سگمنت ها در برنامه اسمبلی توسط راهنماهای segment و ends مشخص می شوند. يک سگمنت به فرم کلی زير مشخص می شود:

    segmentname segment {READONLY} {align} {combine} {use} {'class'}
          <statements>
    segmentname ends

    segmentname شناسه ای است که نام سگمنت معين می کند. نام سگمنت برای بدست آوردن آدرس آنها توسط اسمبلر استفاده می شود. نام سگمنت بايد در راهنمای ends هم مشخص شود.

    align می تواند يکی از کلمات byte، word، dword، para يا page باشد. اين پارامتر مشخص می کنند سگمنت در محدوده بايت، کلمه، کلمه مضاعف، پاراگراف يا صفحه بار شود. اگر بايت باشد سگمنت از اولين بايت آزاد بعد از آخرين سگمنت ذخيره می شود. اين فيلد می تواند حذف شود. پيش فرض پاراگراف است. پاراگراف مضربی از 16 بايت است.

    فيلد combine ترتيبی را که سگمنت های هم نام در فايل مقصد توسط اسمبلر نوشته می شوند را کنترل می کند و می تواند يکی از کلمات public، stack، common يا memory باشد. نوع stack برای سگمنت های پشته و public برای بقيه سگمنت ها استفاده می شود.


    مثال.

    DSEG    segment
    Item1   byte   0
    Item2   word   0
    DSEG    ends

    CSEG    segment
          mov   AX, 10
          add   AX, Item1
          ret
    CSEG    ends


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


    مثال. دستور زير آدرس سگمنت داده را در ثبات DS قرار می دهد.

    mov   AX, dseg   ;Loads AX with segment address of dseg.
    mov   DS, AX      ;Point ds at dseg.


    راهنماهای .stack، .data و .code راهنماهای ساده شده سگمنت هستند که محل شروع سگمنت های پشته، داده و کد را مشخص می کنند. راهنمای .stack فضائی را برای پشته برنامه رزرو می کند. اندازه پشته در مقابل آن ذکر می شود. پيش فرض مقدار پشته 512 بايت درنظر گرفته می شود.

    سگمنت ها به ترتيبی که در برنامه تعريف شده اند در حافظه بار می شوند.

    ساختار کلی يک برنامه

    SSeg    SEGMENT PARA
       DW 32 dup(0)
    SSeg   ENDS
    DSeg   SEGMENT PARA
       ;declarations
    DSeg   ENDS
    CSeg   SEGMENT PARA
       Main PROC FAR
          ASSUME SS:SSeg, DS:DSeg, CS:CSeg
          mov AX,DSeg
          mov DS,AX
          ...
          mov AX,4c00h
          int 21h
       Main ENDP
    CSeg   ENDS
    END Main

    ساختار کلی برنامه با راهنماهای ساده شده سگمنت

            .MODEL small
            .STACK [size]
            .DATA
       ;declarations
            .CODE
    Main:
       mov AX,@Data
       mov DS,AX
       ...
       mov AX,4c00h
       int 21h ;return to DOS
    END Main


    نکته. ابتدای هر برنامه اسمبلی بايد آدرس سگمنت داده در ثبات DS قرار گيرد.


    مثال. برنامه first.asm برای نمايش پيغام روی صفحه.

    ; First.asm
    ;
            .MODEL small
            .STACK [size]
            .DATA
    message db "Hello world, I'm learning Assembly !!!", "$"
            .CODE
    main PROC
       mov AX,seg message
       mov DS,AX
       mov AH,09
       lea DX,message
       int 21h
       mov AX,4c00h
       int 21h ;return to DOS
    main ENDP
    END main

    بازدید : 1103 تاریخ : نویسنده : بهرام محمدپور | نظرات ()
    آمار سایت
  • آمار مطالب
  • کل مطالب : 4311
  • کل نظرات : 17
  • آمار کاربران
  • افراد آنلاین : 4
  • آمار بازدید
  • بازدید امروز : 16,028
  • باردید دیروز : 7,433
  • گوگل امروز : 30
  • گوگل دیروز : 42
  • بازدید هفته : 53,400
  • بازدید ماه : 131,431
  • بازدید سال : 819,351
  • بازدید کلی : 6,673,077
  • نظرسنجی
    چه مطالبی در سایت قرار دهیم؟





    کدهای اختصاصی