برای مشاهده مفیدترین ارسال در این موضوع اینجا کلیک کنید

صفحه 2 از 2 اولیناولین 12
نمایش نتایج: از شماره 11 تا 15 از مجموع 15
  1. #11
    ADMIN
    تاریخ عضویت
    2011 October
    محل سکونت
    گیلان
    سن
    30
    ارسال ها
    136
    تشکر
    814
    تشکر شده 480 بار در 131 پست


    2 امتياز مثبت از 2 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر



    جواب سوال 4





    counter DW 0
    str DB 'mAzAndArAn',19


    mov si,0
    lea bx,str
    L1:
    MOV AL,byte ptr[bx+si]
    CMP AL,13
    JE L2
    INC si
    JMP L1


    L2:
    mov cx,si
    mov si,0

    l4:
    cmp byte ptr[bx+si],'A'
    jne l3
    inc counter
    l3: inc si
    loop l4


    mov DX,counter




    ویرایش توسط Mahshid : 7th January 2013 در ساعت 09:36 PM


    ..::Never Trust Someone Who Lies To You , Never Lie To Someone Who Trusts You::..


  2. #12
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    37
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    1 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط Tishab نمایش پست ها
    نقل قول نوشته اصلی توسط Mahshid نمایش پست ها
    سلام
    استاد نوریان سر کلاساشون چند تا تمرین داده بودن که حل کنیم
    اگه میشه کمک کنین تا اینا رو حل کنیم

    1) وارون کردن دو رشته (وارون یک رشته را در رشته دیگری بریزید)

    2)تکه برنامه ای بنویسید که 10 خانه اول رشته str1 را به ابتدای str2 ببرد؟ (بدون دستور movsb یا movsw )

    3) با لود کردن 10 خانه آخر رشته str2 در آکومالاتور به ان یه بایت اضافه کند؟ (بدون دستور رشته ای)

    4) تعداد کاراکتر های "A" در رشته "str1" را در DX بریزید؟


    لطفا اگه میتونید کمک کنین
    بعده چند روز بالاخره قضیه اینترنت ما هم حل شد...

    کد 4تا سوال رو نوشتم....ولی مطمئن نیستم که درست باشه... اگه به نظر کسی اشتباست... بگه؟؟؟!!

    جواب1) با فرض اینکه دو رشته هم طول هستند :

    Mov CX,Length STR1
    LEA SI,STR1
    LEA DI,STR2
    REP LODSB
    Mov CX,length STR1
    L1: Mov DI,CX
    STOSB
    Loop L1



    جواب2)

    LEA SI,STR1
    LEA DI,STR2
    Mov CX,10
    L1: Mov DI,[SI]
    INC SI
    INC DI
    Loop L1



    جواب3)

    Mov CX,10
    LEA SI,STR1
    Mov AX,Length STR1
    ADD SI,AX
    SUB SI,10
    L1: Mov AL,[SI]
    INC AL
    INC SI
    Loop L1




    جواب4)

    Counter DB 0
    Mov CX,Length STR1
    LEA DI,STR1
    Mov AL,"A"

    L1: REPNE SCASB
    JZ L2
    INC Counter
    INC DI
    DEC CX
    Loop L1
    L2: Mov DX,Counter

    خیلی خوبه . منتها ما تو اسمبلی دستور Length نداریم تا اونجا که من خاطرم هست . اشتباه نکردی؟
    برای رفرنسهای آینده هم : میتونید این لینکها رو ببینید
    در مورد مبحث آرایه ها در اسمبلی -آرایه های تک بعدی و چند بعدی و نحوه ساخت و ... :Art of Assembly: Chapter Five-2
    در مورد بدست اوردن طول رشته در اسمبلی : Finding a String Length in Assembly Language

    متن پنهان



    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  3. #13
    SUPERMODERATOR
    تاریخ عضویت
    2012 May
    ارسال ها
    430
    تشکر
    750
    تشکر شده 961 بار در 440 پست
    نوشته های وبلاگ
    4


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نمیدونم ... استاد در حل چند تمرین از Length استفاده کرده...

    سه جمله برای کسب موفقیت: ..... 1. بیشتر از دیگران بدانید.....2. بیشتر از دیگران کار کنید......3. کمتر انتظار داشته باشید. ( ویلیام شکسپیر )

  4. #14
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    37
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط Tishab نمایش پست ها
    نمیدونم ... استاد در حل چند تمرین از Length استفاده کرده...
    نه نیستم تو لیست دستورات X86 هم نگاه کردم نبود.
    احتمالا استادتون برا راحتی کار اونو تو مثال ها اورده که درک دانشجوها بهتر بشه . یا اینکه اسمبلی ماشین دیگه ای داشته تدریس میکرده ! که بعیده .
    دوستانی که احتمالا درس اسمبلی دارن به این لیست هم نگاه کنن خوبه تا با دستوراتی که Tishab عزیز زد بیشتر آشنا بشن(اگه نیستن) و همینطور با سایر دستوراتی که کار شما رو چندین برابر راحت تر میکنه در کد نویسی اسمبلی .
    x86 instruction listings - Wikipedia, the free encyclopedia

    ادیت:
    دستور Length مربوط به Inline Assembly هست که در داخل بلاک _asm تو برنامه های سی و سی++ استفاده میشه ( مختص Visual C++ ) . دستورات Masm رو قبول میکنه . منتها برعکسش بعید میدونم (باید تست بشه مطمئن نیستم )
    http://homepages.thm.de/~hg13025/vor.../msvc_asm.html

    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  5. #15
    SUPERMODERATOR
    تاریخ عضویت
    2012 May
    ارسال ها
    430
    تشکر
    750
    تشکر شده 961 بار در 440 پست
    نوشته های وبلاگ
    4


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    بله... اگه در اسمبلی Length نیست به نظر من هم استاد برای درک بیشتر دانشجویان و راحتی کار از این استفاده کرده ....

    سه جمله برای کسب موفقیت: ..... 1. بیشتر از دیگران بدانید.....2. بیشتر از دیگران کار کنید......3. کمتر انتظار داشته باشید. ( ویلیام شکسپیر )

 

 
صفحه 2 از 2 اولیناولین 12

کاربران برچسب خورده در این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 02:15 PM بر حسب GMT +4 می باشد.