تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 3 از 4 اولاول 1234 آخرآخر
نمايش نتايج 21 به 30 از 32

نام تاپيک: تمامي سوالات و مسايل راجع به زبان assembly

  1. #21
    در آغاز فعالیت
    تاريخ عضويت
    Jan 2007
    پست ها
    7

    پيش فرض سوال در باره چند خط کد!

    سلام من چند خط کد اسمبلی مربوط به یک سیستم عامل Open Source دارم که نمی فهمم چکار میکنه, کسی هست که زبان اسمبلی بلد باشه؟ ممنون میشم اگه راهنماییم کنید.

  2. #22
    پروفشنال rezapazahr's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    اهواز
    پست ها
    526

    پيش فرض

    سلام(درخواست خیلی فوری)

    اگه میشه در مورد مطالب زیر اطلاعاتی بهم بدید:

    1)بررسی دستورات mov,xchg,lea ومحدودیت های آنها

    2)بررسی ساختار پردازنده های pentium 4

    3)بررسی مجموعه دستورات پردازنده pentium 4

    4)ررسی وقفه های 21h,10h وتوابع آنها

    درضمن برنامه ای (به زبان اسمبلی)میخوام که نام ونام خانوادگی کسی رو گرفته ودر صفحه نمایش چاپ کند.

    ممنون میشم.
    Last edited by rezapazahr; 05-04-2007 at 23:53.

  3. #23
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2012
    پست ها
    3

    پيش فرض

    سلام دوست عزیز.
    در زبان اسمبلی برنامه به چند بخش مجزا تقسیم میشه که به هر بخش یک سگمنت میگن. هر سگمنت باید اول تعریف بشه که تعریف شامل نام و نوع اون میشه. دستورات تعریف پشته در سگمنت اون یعنی سگمنت پشته قرار میگیره. این دستور میگه یه سگمنت پشته به نام sseg با سایز 32 بایت در نظر بگیر.

  4. این کاربر از seidagha بخاطر این مطلب مفید تشکر کرده است


  5. #24
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2012
    پست ها
    3

    پيش فرض

    دوست عزیر، دستور lea همون mov offset هست یعنی ادرس متغیر رو در عملوند اول که یک ثبات هست میگذارد. دستور xchg مقدار دو عملوند رو با هم عوض میکنه. دستور mov هم که دستور کپی هست. این دو وقفه هم بیشتر واسه عملیات پاک کردن صفحه نمایش و انتقال مکان نما و ورود و خروج اطلاعات بکار میرن.

  6. این کاربر از seidagha بخاطر این مطلب مفید تشکر کرده است


  7. #25
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2012
    پست ها
    3

    پيش فرض

    کدهاتو بنویس

  8. #26
    داره خودمونی میشه sarzabita's Avatar
    تاريخ عضويت
    Nov 2011
    پست ها
    24

    پيش فرض

    این فروم که بیشترش سوال شده تا جواب. منم دارم از دست اسمبلی چل می شم والقصه. دوستان اگر از نرم افزار emu8086
    استفاده کنید هم ادیتور دارید هم کامپایلر هم همه چی. کلا خوش بخت می شید به جز موارد زیر
    من الان 5 تا سگمت به برنامه معرفی کردم فقط برای امتحان مطالب تئوری خوب خدا رو شکر ارور نمی ده اما تو یه سگمنت یه دستور رو جا می ندازه؟ ممکنه مشکل از امولاتور باشه؟ چون با سون کار می کنم الان نمی تونم از masm استفاده کنم.
    اما کلا فهمیدم هر چی تو کتاباست خیلی هم جدی نیست. مثلا همون خط
    db 64 dup(?);f



    stseg segment
    db 64 dup(?)
    stseg ends

    dtseg segment
    ;add your data here
    data1 db 90h
    dtseg ends

    cdseg segment
    data db 90h

    ends
    eseg segment
    mov cx,10h
    mov dx,20h
    sub cx,dx
    push cx
    push cx


    ends
    panj segment
    add ax,4589h
    mov bx,ax
    ends


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

  9. #27
    اگه نباشه جاش خالی می مونه حمید جان's Avatar
    تاريخ عضويت
    Sep 2007
    پست ها
    413

    پيش فرض

    این فروم که بیشترش سوال شده تا جواب. منم دارم از دست اسمبلی چل می شم والقصه. دوستان اگر از نرم افزار emu8086
    استفاده کنید هم ادیتور دارید هم کامپایلر هم همه چی. کلا خوش بخت می شید به جز موارد زیر
    من الان 5 تا سگمت به برنامه معرفی کردم فقط برای امتحان مطالب تئوری خوب خدا رو شکر ارور نمی ده اما تو یه سگمنت یه دستور رو جا می ندازه؟ ممکنه مشکل از امولاتور باشه؟ چون با سون کار می کنم الان نمی تونم از masm استفاده کنم.
    اما کلا فهمیدم هر چی تو کتاباست خیلی هم جدی نیست. مثلا همون خط
    db 64 dup(?);f



    stseg segment
    db 64 dup(?)
    stseg ends

    dtseg segment
    ;add your data here
    data1 db 90h
    dtseg ends

    cdseg segment
    data db 90h

    ends
    eseg segment
    mov cx,10h
    mov dx,20h
    sub cx,dx
    push cx
    push cx


    ends
    panj segment
    add ax,4589h
    mov bx,ax
    ends


    اینکه هر جایی هم که می خوام متغیر تعریف می کنم خیلی جالبه. فقط مشکلش اینه که رجیستر DS باید مقدارش با مقدار شروع سگمنت داده پر بشه که من با این کد نمی تونم حالا بازم امتحان می کنم. اونوقت این امولاتور یه هلپ داره که یه بخشش سیستم عامل بنویسید و ایناست. من ازونم سر در نیاوردم.
    یه مدل هست به اسم .model small که بصورت زیره و کدنویسی توش خیلی راحت تره(دنگو فنگش هم کمتره)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اون خط
    db 64 dup(?);f منظورتون از اینکه مهم نیست چیه؟ تعریف یه آرایه...

    هرجایی نمیشه متعیر تعریف کردا ... تا جایی که من emu کار کردم

    Last edited by حمید جان; 10-12-2012 at 21:35.

  10. این کاربر از حمید جان بخاطر این مطلب مفید تشکر کرده است


  11. #28
    داره خودمونی میشه sarzabita's Avatar
    تاريخ عضويت
    Nov 2011
    پست ها
    24

    پيش فرض

    کتاب مزیدی در قسمت استک همیشه آرایه تعریف می کنه که تو امولاتور نیازی بهش نیست. البته من فهمیدم
    masm و tasm
    خیلی هم حساسند و بیشتر از 4 تا سگمنت نمیشه تعریف کرد. من تو امولاتور وسط کد ها متغیر تعریف کردم هیچی نشد. راستی برای خواندن عدد از ورودی باید از چه وقفه و تابعی استفاده کرد؟ من هر چی می گردم همش با کاراکتر کار می کنه.

  12. #29
    کاربر فعال انجمن برنامه نویسی n00b's Avatar
    تاريخ عضويت
    May 2012
    محل سكونت
     
    پست ها
    297

    پيش فرض

    سلام......////
    *******************
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    *************************
    موفق باشید!

  13. #30
    در آغاز فعالیت
    تاريخ عضويت
    Oct 2011
    پست ها
    1

    پيش فرض

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

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •