معکوس کردن ترتیب بیت های یک رجیستر 8 بیتی و...

zahra1372

عضو جدید
سلام میشه یکی جواب اینارو بهم بگه؟ روش حلش هم بگین حلّـــه!!:)
برنامه ای بنویسید که با فرض ذخیره ی 5 عدد یکبایتی در ابتدای سگمنت داده اعداد را مرتب کرده (بصورت صعودی) و در همان ذخیرهکند. (گفت بدون آرایه ی کمکی)

برنامه ای بنویسید که ترتیب بیتهای یک رجیستر 8بیتی را معکوس کند.
عددی 4 بایتی در رجیستر های ax,dx ذخیره شده استدستوراتی بنویسید که این عدد را 4 بار به سمت راست شیفت دهد.

مرسی :gol:
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
با سلام،
1. برنامه ای شبیه به این رو در تاپیک برنامه های نوشته شده به زبان اسمبلی می تونید پیدا کنید.
2. با فرض این که از یه ثبات کمکی می شه استفاده کرد، مقدار رو در اون کپی کنید، ثبات اصلی رو صفر کنید، 8 بار ثبات دوم رو به راست شیفت بدید و ثبات اول رو با Carry به چپ شیفت بدید!
3. از شیفت به راست با Carry استفاده کنید اول Dx رو شیفت بدید و بعد ax رو و این کار رو چهار بار تکرار کنید. در ابتدا فلگ c رو صفر کنید!
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
میشه دومی رو بیشتر توضیح بدین؟؟ نمی فهمم.:confused::(:cry:
اگه بخواید بیت ها رو جابه جا کنید و مثلاً 01011 رو به 11010 تبدیل کنید، بیت ها رو باید از سمت چپ ثبات جایگزین بردارید و از سمت چپ ثبات اصلی وارد کنید. برای این کار از شیفت به چپ استفاده می کنید که بیت چپ وارد فلگ Carry می شه (در ثبات جایگزین) و از شیفت به راست به همراه Carry برای ثبات اصلی استفاده می کنید در این صورت مقدار Carry از سمت چپ وارد می شه! در ادامه ی کار این بیت به سمت راست حرکت می کنه و راست ترین بیت می شه!
یه دور روی کاغذ تست کنید!
 

zahra1372

عضو جدید
جواب سوا 2و3

جواب سوا 2و3

لینک پست قبلی نامعتبره. از اینجا میتونید جواب سوال 2 و 3 رو دانلود کنین.:smile:
 

Similar threads

بالا