مشکل در debugکردن برنامه اسمبلی

hibye90

عضو جدید
سلام:gol:
اقا صیاد برنامه اسمبلی را که توmasm611 اجرا میکنم
بعد از مرحله ی debugging ثبات ها را که نشون میده در command prompt همشون صفر هستند:surprised::surprised::surprised:!!!!!!!
چیکار کنم به نظرتون؟
در مراحل اجراهم برنامه error نداشت!!

بای:gol:
 

hibye90

عضو جدید
سلام:gol:
اقا صیاد برنامه و تصویر command prompt را ضمیمه کردم که صفره!!

گفتم اینا رو بفرستم شاید این جوری بتونید کمکم کنید:(!!
 

پیوست ها

  • New folder.rar
    578.4 کیلوبایت · بازدیدها: 0

sayyad84

متخصص زبان Assembly
کاربر ممتاز
با سلام،
توجه داشته باشید که MASM با ویندوزهای بعد از XP مشکل داره و نمی تونید ازش استفاده کنید!!!
می تونید برنامه هاتون رو با استفاده از EMU اجرا کنید که تو تاپیک آموزش، برای دانلود هست. البته مطمئن نیستم ولی احتمالاً تنها راه استفاده از MASM اینه که نرم افزار VMWare رو نصب کنید و تو ش یه ویندوز XP بریزید و اون جا از این برنامه استفاده کنید!
 

hibye90

عضو جدید
با سلام،
توجه داشته باشید که MASM با ویندوزهای بعد از XP مشکل داره و نمی تونید ازش استفاده کنید!!!
می تونید برنامه هاتون رو با استفاده از EMU اجرا کنید که تو تاپیک آموزش، برای دانلود هست. البته مطمئن نیستم ولی احتمالاً تنها راه استفاده از MASM اینه که نرم افزار VMWare رو نصب کنید و تو ش یه ویندوز XP بریزید و اون جا از این برنامه استفاده کنید!
سلام استاد sayyad
استاد ویندوز xp نصب کردم (اخه استادمون میگه فقط از masm استفاده کنید فکر نمی کنم با EMUاجازه بده!!)
با اینکه XP ریختم! فایل .OBJ برنامه رو میسازه اما تو بخش .exe مشکل داره و نمی سازه .exe را !!
اگه .obj را ساخته میشه گفت برنامه درست بوده ومشکل از جای دیگه هست؟
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
سلام استاد sayyad
استاد ویندوز xp نصب کردم (اخه استادمون میگه فقط از masm استفاده کنید فکر نمی کنم با EMUاجازه بده!!)
با اینکه XP ریختم! فایل .OBJ برنامه رو میسازه اما تو بخش .exe مشکل داره و نمی سازه .exe را !!
اگه .obj را ساخته میشه گفت برنامه درست بوده ومشکل از جای دیگه هست؟

با سلام،
بعد از اجرای دستور Link باید 4 بار Enter کنید و بعد از اون فایل اجرایی ساخته می شه! توضیح بیشتر رو می تونید تو تاپیک آموزش پیدا کنید!
 

hibye90

عضو جدید
سلام
اگه برنامه ای داشته باشیم که بخواهیم مثلا 5 عدد موجود در حافظه را در ادرس مثلا ازorg 10 تا org15 کپی کند این برنامه خروجی ای داره که بشه دید!
یا از debug کردن باید فهمید و خروجی خاصی نداره ؟!

ممنون:gol:
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
سلام
اگه برنامه ای داشته باشیم که بخواهیم مثلا 5 عدد موجود در حافظه را در ادرس مثلا ازorg 10 تا org15 کپی کند این برنامه خروجی ای داره که بشه دید!
یا از debug کردن باید فهمید و خروجی خاصی نداره ؟!

ممنون:gol:
با سلام،
همون طور که گفتید باید از Debug استفاده کنید!
 

hibye90

عضو جدید
با سلام،
همون طور که گفتید باید از Debug استفاده کنید!
sayyad جان
در debug کردن برنامه دستور d (که ثبات های حافظه را نشان میده) را یکبار قبل از trace , یکبار بعد از Trace زدم و یکسان بودند و تغیری نکرده بود!!
استادمون گفته انگار باید فرق کنه(فکر میکنم البته!)
برنامه خروجی درست هم داده!! یعنی اشکال داره که فرقی نکرده؟

با تشکر:gol:
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
sayyad جان
در debug کردن برنامه دستور d (که ثبات های حافظه را نشان میده) را یکبار قبل از trace , یکبار بعد از Trace زدم و یکسان بودند و تغیری نکرده بود!!
استادمون گفته انگار باید فرق کنه(فکر میکنم البته!)
برنامه خروجی درست هم داده!! یعنی اشکال داره که فرقی نکرده؟

با تشکر:gol:
با سلام،
برنامه تون رو با استفاده از دستور cv x.exe اجرا کنید، که x نام برنامه ی مورد نظره! در صفحه ی Debug از منوی Windows گزینه ی memory می تونه حافظه رو نمایش بده!
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز

Similar threads

بالا