ورود

View Full Version : سوال: مهندسین به کمکتون نیاز دارم ( جابجایی بیتهای af و sf)



mamaliiim
جمعه 29 آبان 1388, 17:23 عصر
سلام دوستان برنامه نویس :لبخندساده:

من مدیون این سایت و اعضای خیلی خوبش هستم :قلب:

این بارم می خواستم لطف کنیدو تو حل این مسئله بهم کمک کنید !

مسئله :
قطعه برنامه ای بنویسید که جای بیت های af و sf را با هم عوض کند !

البته از دستور xch نباید استفاده کنیم ،از شیفت به راست و چپ میبایستی استفاده کنم
مبحث درسمون pushf . pop.popf. push

tdkhakpur
جمعه 29 آبان 1388, 21:15 عصر
قطعه برنامه ای بنویسید که جای بیت های af و sf را با هم عوض کند !

مگر فلاگها جز رجيستر ها هستند كه با xch ميخواهيد جابجا كنيد.
در مورد af حضور ذهن ندارم ولي اعمال رياضي و برخي از كدها بر روي فلاگه تاثير دارند كه شما بايد اين كدها را مطالعه كنيد مثلا با كد زير ميتوانيد sf را تحت تاثير قرار بديد.



mov ax, 0
sub ax , 1
js lavbel1 ; اين پرش همواره اجام خواهد شد به اين خاطر كع محابه فوق عدد منفي ميشود.

mov ax, 0
add ax , 1
jns lavbel1 ; اين پرش هم به خاطر منفي نبودن انجام خواهد گرفت

كدهاي بالا باعث تغيير فلاگ sf به صفر و يك ميشود و براي af‌هم خودتان مطالعه كنيد و با دو سه خط ميتوانيد بيتها را جابجا كنيد.

mamaliiim
دوشنبه 02 آذر 1388, 15:54 عصر
داداشی مرسی خیلی کمکم کردی تا به الان :بوس:
خیلی جالبه هروقت هم به مشکل بر میخورم شما که عزیزه دلمی میایدو لطف میکنیدو مشکلم رو حل میکند
مرسی

داداش چجوری باید چک کنم ببینم که اون بیت 1 هست یا 0 :متفکر:
اگه بفهمم فک کنم بتونم بنویسمش
بعدش نمیتونم با شیفت دادن حلش کنم؟ :متفکر:
----------------------------------------------------------------

برنامه ای بنویسید که محتوای CF رو 1 بکند !

pushf
pop ax
mov bx, 1 H
or ax , bx
push ax
popf
همچین مثالی رو در کلاس حل کردند

tdkhakpur
دوشنبه 02 آذر 1388, 17:13 عصر
خب داداشی این کار برای من مثل تکرار یک مسئله میماند پس مشکلی برای پاسخ دادن ندارم.
من که کد برای 1و 0 کردن بیت فرستادم .


sub ax , 1
js lavbel1 ; اين پرش همواره اجام خواهد شد به اين خاطر كع محابه فوق عدد منفي ميشود

البته راه برای 1 کردن cf زیاده این یکی لز ساده ترین اونهاست


mov bx, ffffh
inc bx