پاسخ : برنامه نویسی به زبان اسمبلی
سلام،
تو کامپایلر کدویژن نیاز به ضرب 32 بیت در 32 بیت داشتم و حاصل رو داخل یه رشته 64 بیتی(8بایتی) بریزه، چون کدویژن متغیر 64 بیتی نداره، این ضرب رو داخل Atmel Studio انجام دادم و کد های اسمبلی تابع رو به کد ویژن منتقل کردم.
حالا یه تابع سی دارم که از کلا دستورات اسمبلی هستش،
سوالی که دارم حین انجام عملیات ضرب مقادیر رجیسترها (R0-R32)تغییر میکنه، این تغییرات روی ادامه برنامه تاثیر می ذاره ؟ تو خود Atmel Studio که نگاه کردم همه رجیستر هایی که استفاده کرده بود رو push و pop نکرده بود؟!
اصلا من اگه کل 32 تا رجیستر رو اول تابع push کنم و آخرش pop کنم حله؟؟ مشکلی پیش نمیاد ؟؟؟
با تشکر
سلام،
تو کامپایلر کدویژن نیاز به ضرب 32 بیت در 32 بیت داشتم و حاصل رو داخل یه رشته 64 بیتی(8بایتی) بریزه، چون کدویژن متغیر 64 بیتی نداره، این ضرب رو داخل Atmel Studio انجام دادم و کد های اسمبلی تابع رو به کد ویژن منتقل کردم.
حالا یه تابع سی دارم که از کلا دستورات اسمبلی هستش،
سوالی که دارم حین انجام عملیات ضرب مقادیر رجیسترها (R0-R32)تغییر میکنه، این تغییرات روی ادامه برنامه تاثیر می ذاره ؟ تو خود Atmel Studio که نگاه کردم همه رجیستر هایی که استفاده کرده بود رو push و pop نکرده بود؟!
اصلا من اگه کل 32 تا رجیستر رو اول تابع push کنم و آخرش pop کنم حله؟؟ مشکلی پیش نمیاد ؟؟؟
با تشکر
دیدگاه