PDA

View Full Version : سوال: مشکل با دستور INC



drstrike
شنبه 05 آذر 1390, 11:13 صبح
سلام
چند وقته یه سوال رو مخم رژه میره!
عدد 1- (علامتدار) یا عدد 255 (بی علامت) را در نظر بگیرید. اگه این عدد رو inc کنیم قطعا فلگ Carry باید 1 بشه؛ درصورتیکه تو کتابا و مراجع نوشته این دستور روی CF تاثیر نداره(تست شده، تاثیر نمیزاره)!

کسی میتونه با ذکر دلیل بگه چرا اینطوریه؟! :متفکر:

xman_1365_x
شنبه 05 آذر 1390, 12:16 عصر
هر دستوری یک الگوریتمی داره، در پردازنده این دستور طوری طراحی شده که از کری نه تاثیر بپذیره و نه تاثیری بزاره فقط عملوند رو یک واحد افزایش بده، حال اگر نیاز به تاثیر دادن کری باشه یا باید خودتون چک کنید و کری رو یک کنید یا ساده تر از add و adc استفاده کنید.
موفق باشی

drstrike
شنبه 05 آذر 1390, 15:31 عصر
دوست عزیز حرف من سر ست یا ریست کردن Carry با دستورات دیگه نیست، من میگم چرا این دستور Carry رو تحت تاثیر قرار نمیده؟
بزارید یه مثال بزنم تا مسئله واضحتر بشه:
x DB 11111111
inc x
ببینید، اگه مقدار x رو بعد دستورات بالا محاسبه کنید مقدار Carry Flag باید 1 بشه، اما نمیشه!
اگه دلیلش رو میدونید منم بی نصیب نزارید، ممنون

xman_1365_x
شنبه 05 آذر 1390, 16:54 عصر
دوست عزیز حرف من سر ست یا ریست کردن Carry با دستورات دیگه نیست، من میگم چرا این دستور Carry رو تحت تاثیر قرار نمیده

سوالتون رو فهمیدم و جواب دادم اینگاری خوب نخوندین ، گفتم این به طراحی پردازنده (در سطح سخت افزار) و الگوریتم این دستور در پردازنده بر میگرده که طوری پردازنده طراحی شده که کری رو تحت تاثیر قرار نده
موفق باشی