یک خط کد با طول پشته 100

HO3EINBABAIE

New Member
5.PNG
سلام ، اقای کینگ من اسمتون رو هم نمیدونم
ممنونم ازتون که اینقدر کمک میکنید بنده رو
در سوال بالا کدام گزینه اتفاق میفته ؟
 

the_king

مدیرکل انجمن
مشاهده پیوست 114706
سلام ، اقای کینگ من اسمتون رو هم نمیدونم
ممنونم ازتون که اینقدر کمک میکنید بنده رو
در سوال بالا کدام گزینه اتفاق میفته ؟
اسم من علی سعید است، پایین پاسخ هایم اسمم کوچک نوشته شده.
ابتدا CX مقدار 100 میگیره که مشخص کننده تعداد تکرار حلقه است :
کد:
MOV     CX, 100
و در یک حلقه به اسم برچسب LP1 به تعداد 100 بار مقدار AX در پشته PUSH میشه، یعنی در پشته صد مقدار تکراری قرار میگیره.
کد:
LP1:
    PUSH    AX
    LOOP    LP1
و در ادامه مجددا در CX مقدار 100 قرار میگیره :
کد:
MOV    CX, 100
و در یک حلقه به اسم برچسب LP2 به تعداد 100 بار مقدار از پشته POP میشه و در AX قرار میگیره، یعنی اون صد مقدار تکراری از پشته خارج میشه.
کد:
LP2:
    POP     AX
    LOOP    LP2
گزینه ب درست نیست، چون اولا به همون تعداد PUSH کردن ها POP داریم و صد تا PUSH با صد تا POP تطابق داره. ثانیا دلیلی نداریم که با قرار دادن صد مقدار 16 بیتی (معادل 200 بایت ناقابل) پشته پر بشه (ظرفیت پشته 64 کیلوبایت ئه)
گزینه ج درست نیست چون همون مقدار قبلی AX که در پشته قرار داده بود به AX برگردونده میشه و AX مقدار جدیدی از پشته در نمیاره.
در نتیجه گزینه د هم درست نیست و گزینه الف درسته.
 

جدیدترین ارسال ها

بالا