PDA

View Full Version : چند سوال ساده



EbiPenMan
شنبه 15 دی 1386, 19:15 عصر
سلام من چند سوال ساده داشتم.

1.می خوام هرچی تو رجیستر ها هست به همون صورت رو مانیتور چاپ کنم ولی به جای اینکه اونا رو چاپ کنه فکر می کنه اونا کد اسکی هستن و معادا آنها رو چاپ می کنه.
مثلا : AX=1254 یا BX=ffc4 هست من می خوام همینا رو به همین صورت چاپ کنم ولی نمی شه.

2.کدی می خوام که تاریخ بایس سیستم رو بده می گن با یه وقفه می شه ولی نمی دونم چیه.

3.دوستان می خوام به ماشین حساب بنویسم راهمایی کنید.

دوستان این یه پروژه دانشگاهی هست کمک کنید.

دوستان کد برنامه در پست شماره 7 است : http://barnamenevis.org/forum/showthread.php?p=841854#post841854

Delphi Coder
شنبه 15 دی 1386, 23:12 عصر
1.می خوام هرچی تو رجیستر ها هست به همون صورت رو مانیتور چاپ کنم ولی به جای اینکه اونا رو چاپ کنه فکر می کنه اونا کد اسکی هستن و معادا آنها رو چاپ می کنه.
مثلا : AX=1254 یا BX=ffc4 هست من می خوام همینا رو به همین صورت چاپ کنم ولی نمی شه.
باید اونارو تبدیلش کنید به رشته. تو مبنای 16 هر 4 بیت یه رقم هست 4بیت 4بیت عدد رو جدا کنید اگه کوچکتر از 10 بود 30h اضافه کنید و اگه بزرگتر یا مساوی 10 بود 65 یا 97 تا بهش اضافه کنید تا کاراکترش بدست بیاد. کاراکتر ها رو مرتب توی یه رشته بچینید و چاپ کنید.

2.کدی می خوام که تاریخ بایس سیستم رو بده می گن با یه وقفه می شه ولی نمی دونم چیه.
کد نمیخواد در مورد اکثر سیستمها تو آدرس FFFF:0005 نوشته

3.دوستان می خوام به ماشین حساب بنویسم راهمایی کنید.

در مورد کدوم قسمتش نیاز به راهنمایی دارید؟

EbiPenMan
یک شنبه 16 دی 1386, 17:33 عصر
سلام

با تشکر از شما دوست عزیز

من هرچی فکر کردم دیدم باید تعداد اعداد ثابت باشه مثلا حتما 4 رقمی در 4 رقمی باشه . ( حالا اگه راحی بلدید که می شه به تعداد دلخواه کاربر عدد وارد کنه)

بعد نگهداری اعداد در حافظه می شه کاربر یکی یکی اعداد رو بزنه و برنامه بر اساس کد اسکی اون می فهمه چنده بعد اون عدد رو ( نه کد اسکیشو) در یه متغییر ذخیره کنه ( یه متغییر برای عدد اول و یکی هم برای عدد دوم)

سوال : برای یک عدد 4 رقمی باید به صورت ورد تعریف بشه؟

بعد در موقع محاسبه جواب رو در یک متغییر دابل ورد می ریزم.

برای چاپ جواب چه طور می تونم این متغییر دابل ورد رو به یه متغییر بایت تبدیل کنم و چاپ کنم آخه هرچی سمپل دیدم همه متغییر هایی که برای چاپ متن در صفحه هست به صورت بایت تعریف شده.

EbiPenMan
چهارشنبه 19 دی 1386, 22:01 عصر
سلام

مشکل من در ماشین حساب هم حل شد ولی هنوز در چاپ تاریخ بایس در صفحه مشکل دارم.

من کدی به صورت زیر نوشتم ولی چیزای نامفهومی چاپ میکنه.


MOV DX,0FFFFH
MOV DS,DX
MOV DX,0005H
MOV AH,09H
INT 21H

لطفا اگه ممکنه قطعه برنامه ای که تاریخ بایس رو نمایش میده رو بزارید.

اگر انشا ا... برنامه کامل شد حتما تو سایت می زارم تا دوستان بتونن ازش استفاده کنند.

Delphi Coder
پنج شنبه 20 دی 1386, 10:48 صبح
من کدی به صورت زیر نوشتم ولی چیزای نامفهومی چاپ میکنه.


MOV DX,0FFFFH
MOV DS,DX
MOV DX,0005H
MOV AH,09H
INT 21H

لطفا اگه ممکنه قطعه برنامه ای که تاریخ بایس رو نمایش میده رو بزارید.

کدشو نمیذاریم. زرنگی نکنید:چشمک:
مشکل اینه که اونجا رشته منتهی به $ نیست یه رشته به طول 8 بایت تعریف کنید تهش هم یه $اضافه کنید بعد اینکه از اون آدرسی که گفتم 8 بایت رو کپی کردید همونو چاپ کنید یا اینکه اگر مستقیما از اونجا خواستید چاپ کنید برای چاپ از وقفه 10 استفاده کنید که بتونید طول رشته رو مشخص کنید.

EbiPenMan
پنج شنبه 20 دی 1386, 16:09 عصر
با عرض سلام

مشکل حل شد یعنی برنامه رو نوشتم.

Delphi Coder عزیز از شما ممنونم.

و اینکه اگر کسی کدی هم بخواد به نظر من ایراد نداره کد رو براش بزاریم در صورتی که توضیحاتی رو در مورد کد بدیم تا طرف بتونه مفهوم و عمل کرد کد ها رو بفهمه .

این بهتره تا اینکه طرف رو بفرستیم بره خودشو به آب و آتیش بزنه و هزار جور کد پیدا کنه و نتونه از هیچ کدوم سر در بیاره.

من که اگر هر کسی ازم کد بخواد اگر بتونم و بلد باشم کد رو بهش می دم با توضیحات تا اینکه بهش بگم چی کار کنه.

البته این ها نظر من هست هرکسی نظری داره و محترم هست برای همه.

حالا من اگه تونستم کد برنامم رو می زارم تو سایت.
برنامه این کارا رو می کنه :
1. چاپ تاریخ بایس
2.چاپ محتویات رجیستر ها
3.چهار عمل اصلی روی دو عدد 4 رقمی

EbiPenMan
پنج شنبه 14 آبان 1388, 17:50 عصر
سلام به همگی

بعد از چند سال داشتم تاپیکامو مرور می کردم که به این تاپیک برخوردم که هنوز یه قول دادم و عمل نکردم.

می خواستم وقتی برنامه کامل شد با توضیحات تو سایت بزارم ولی یادم رفته بود. حالا برای دوستان می زارم.

نکته : خیلی از کاربرای سایت با گذاشتن کد کامل مخالفن ولی نظر من این نیست.

اگه شخص برای یاد گرفتن چیزی بیاد اگه برنامه بگیره می تونه از اون سوالشم فراتر بره و چیزای بیشتری رو از برنامه یاد بگیره.

پس خواهشن از این برنامه برای پروژه و ... استفاده نکنید . فقط سعی کنید بفهمیدش.

البته این برنامه اصلا چیزی برای یاد گرفتن اساتید(کاربران) سایت نداره ولی چون برای من داشته گفتم شاید برای دیگران هم داشته باشه. حالا اگه برنامه مبتدی ای هم هست به دل نگیرید.


برنامه :
نمایش تاریخ بایس
نمایش مقادیر رجیستر های اصلی
انجام 4 عمل اصلی ( البته شاید کامل زیاد نباشه) محدودیت هایی داره
تو فایل rar هم فایل کد هست و هم exe برنامه

بهتره فایل کد رو با یه ادیتوری که اسمبلی ساپورت می کنه باز کنید تا قابل فهم تر باشه .
من از برنامه RadASM استفاده کردم.