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

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




نمايش نتايج 1 به 2 از 2

نام تاپيک: یک سوال ابتدایی اسمبلی

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

    14 یک سوال ابتدایی اسمبلی

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

    برنامه debug.exe را باز کردم و برنامه ساده زیر را نوشته و اجرا کردم. بر طبق این برنامه عدد 100 در ثبات ax و متمم 2 عدد -100 یعنی FF00 در داخل ثبات bx قرار گرفته و حاصل جمع در ax قرار می گیرد. طبیعتا حاصل جمع صفر بوده و یک رقم نقلی داریم ( پرچم نقلی 1 می شود).

    Mov ax,100
    Mov bx,-100
    Add ax,bx

    حال برنامه دوم را به صورت زیر در debug نوشته و اجرا کردم. برنامه زیر همان کار برنامه بالا را انجام می دهد با این تفاوت که دو عدد 100 را از 100 کم کردم. واضح است که نتیجه باز صفر میشود. ولی با کمال تعجب دیدم که پرچم نقلی 1 نشده است و صفر است !!! مگر تمامی پردازنده ها عمل تفریق را با استفاده از متمم 2 انجام نمی دهند. این بدان معنا است که عبارت 100-100 به صورت FF00+0100 انجام می شود. در این حالت رقم نقلی داریم ( عین بالا) ولی چرا پرچم نقلی 1 نشده است ؟؟؟؟

    Mov ax,100
    Mov bx,100
    Sub ax,bx

    کسی می تواند کمکم کند ؟
    پیشاپیش متشکرم.

  2. #2
    در آغاز فعالیت
    تاريخ عضويت
    Dec 2007
    پست ها
    2

    پيش فرض

    خودم جواب رو پیدا کردم
    موقعی که برای تفریق از متمم 2 استفاده می کنیم اگر رقم نقلی ایجاد شود از آن چشم پوشی می کنیم !
    به همین علت درست است که رقم نقلی داریم ولی پرچم نقلی دستخوش تغییر نمی شود.

Thread Information

Users Browsing this Thread

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

User Tag List

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

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