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
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.