PDA

View Full Version : سوال: افزایش سطر و ستون توسط inc



Pr0gr@mmer
جمعه 22 آبان 1394, 00:28 صبح
سلام
توی این کد زیر من میخوام O هر دفعه یدونه هم به سطرش اضافه بشه هم به ستونش طوری که اریب بره پایین مثل یک توپ
اما ظاهرا inc هام نحوه ی نوشتنش غلطه
لطفا راهنمایی کنید

ball db "O","$"


repeat:
mov ah,02h
mov dh,5
inc dh
mov dl,5
inc dl
;mov bh,00
int 10h


mov ah,09
lea dx,ball
mov bl,7dh
;mov bh,00h
int 21h



mov ax,0600h
mov bh,07h
mov cx,0000h
mov dx,184fh
int 10H


loop repeat

masoud.8086
جمعه 22 آبان 1394, 08:47 صبح
سلام برنامت تقریبا درسته فقط چند اشکال جرئی داره
یک به جای inc dh , inc dl یبنویس inc x و مفدار x رو در دتیا سگمت 5 تعریف کن (یعنی این دوتا خطو حذف کن و خطی که گفتمو اضافه کن و بعد به اخر وقفه انتقالش بده)
مورد بعدی به جای mov dh, dl بتویس mov dh,x و mov dl, x
و همچنین خط 14 رو از کامنت در بیار (mov bh,0)
موفق باشید

Pr0gr@mmer
جمعه 22 آبان 1394, 12:13 عصر
سلام
ممنون داداش
با توضیحاتتون تونستم کاری که میخوام رو انجام بده
من میخوام یه چیزی شبیه توپ اریب بیاد پایین بعد به یه شئ خورد (مثلا -------) دوباره اریب بره بالا
اما چطور میتونم شکل O که در دیتاسگمنت تعریف کردم شکلش توپ مانند بشه؟
و چطور میتنونم سرعت حلقه رو بیشتر کنم تا توپ سریعتر حرکت کنه؟

من خط متصل رو که این باشه --------------- بنویسم ، سوال داشتم مزاحمتون میشم
ممنون میشم وقت بزارید ...

masoud.8086
جمعه 22 آبان 1394, 13:16 عصر
خوب برای سرعتش باید بگم چون شما در حال شبیه سازی داری برنامرو اجرا میگنی و در هر بار اجرا سگمنت ها دوباره تشکیل میشه و مسائل دیگه..(که جای توضیحش اینجا نیس)سرعت اجرای شبیه سازی رو مشاهده میکنی برای افزایش سرعت باید از برنامت exe بگیری که مشکلت حل بشه اما با این کار ی مکل دیگه هم به وجود میاد اونم اینه که ایندفه اونقد سرعت اجرای برنامه اونقد بالاست شما چیری از اجرای برنامه نمی بینی که اینجا شما باید بیای با تاخیر سرعت دلخواهتونو تنظیم کنید...(بحثش مفصله)
برای اینکه تشخیص بدی که کی شی به ----------- می رسه راهش اینه که بیای هر بار که توپت (0) حرکت می کنه بیای محتوای خونه بعدشو چک کنی که کارکتر -- هست یا نه اگر به کارکتر -- رسید بره به قسمتی که توپو به بالا هدایت میکنه و اگر نرسید ادامه راه..
برای اینکه شکل توپو درست کنی میتونی از کارکتر o (او) یا 0 (صفر) و یا * ستاره استفاده کنی..

Pr0gr@mmer
جمعه 22 آبان 1394, 13:32 عصر
ممنون با دو تا loop نوشتم


یک به جای inc dh , inc dl یبنویس inc x و مفدار x رو در دتیا سگمت 5 تعریف کن (یعنی این دوتا خطو حذف کن و خطی که گفتمو اضافه کن و بعد به اخر وقفه انتقالش بده)
مورد بعدی به جای mov dh, dl بتویس mov dh,x و mov dl, x
بزرگترین مشکلی که اینجا داشتم نمیدونستم باید بریزم تو متغیر بعد اددش کنم.مرسی



و همچنین خط 14 رو از کامنت در بیار (mov bh,0)

این چیکار میکنه خط 14؟ نمیتونم بفهمم

و یکی دوتا سوال خارج از این مبحث دارم
توی تاپیک جدید بپرسم یا همینجا؟

masoud.8086
جمعه 22 آبان 1394, 13:47 عصر
خواهش میکنم... اینم mov bh,0 در این وقفه داره شماره صفحه ای که مکان نما باید به اون سطر و ستون بره مشخص میکنه...میتونید در تایپیک دیکه سوالاتونو مطرح کنید که دوستان کمکتون کنن

Pr0gr@mmer
جمعه 22 آبان 1394, 13:54 عصر
خواهش میکنم... اینم mov bh,0 در این وقفه داره شماره صفحه ای که مکان نما باید به اون سطر و ستون بره مشخص میکنه...میتونید در تایپیک دیکه سوالاتونو مطرح کنید که دوستان کمکتون کنن
مگه چندتا صفحه داریم؟ یدونه بیشتر نیست که،ننویسمش هم فرقی نمیکنه همون کارو انجام میده!!!
بعد این یه بار انجام میده برای اینکه رفت خورد به --------- و رسید بالا دوباره تکرار شه اینکارا چیکار میتونم انجام بدم؟(از دوباره همین کارا صورت بگیره...)

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

masoud.8086
جمعه 22 آبان 1394, 20:08 عصر
در اسمبلی 8 صفحه داریم از 0 تا 7 برای اینکه مطلب براتون جا بیفته اگر خط mov bh, 0 رو از وقفه ای گفتم حذف کنید برنامه به مشکل میخوره..
برای تکرار کافی دوباره ی jmp به اول برنامه بزنید یا با شزط یا بدونه شرط...
بهتون بهتون پیشنهاد میدم فیلم های اموزشی اسمبلیم رو که داخل سایت آپادانا به صورت انحصاری است نگاه کنید حدود 10 جلسه ..حجمشم کلا 200 مگابایت ...خیلی از مشکلاتتون حل میشه..

Pr0gr@mmer
جمعه 22 آبان 1394, 20:17 عصر
جامپ میزنم نمیشه هماهنگ نیستن باهم
من اصلا کارم با اسمبلی نیست و خودتون هم میدونید بدرد کسی نمیخوره
بخاطر دانشگاه مجبورم پاسش کنم

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

masoud.8086
جمعه 22 آبان 1394, 20:28 عصر
متاسفانه الان که نگاه میکنم میبینم سایت آپادانا به صورت vip فعالیت داره و بسته شده وامکان ورود نیست..
برای هماهنگی وقتی جامپ میزنید مقادیر دیتاسگمت رو به حالت اولیه برگردونید یعتی دوباره مفدار x,y , هر چی که دارید رو مقدار دهی کنید..تا مشکل برطرف بشه