با سلام
دوستان من ميخوام يه خط در اسمبلي رسم كنم
مثلان از ستون 5 و سطر 5 به ستون 200 و سطر 50 ترسيم كنم
با تشكر
با سلام
دوستان من ميخوام يه خط در اسمبلي رسم كنم
مثلان از ستون 5 و سطر 5 به ستون 200 و سطر 50 ترسيم كنم
با تشكر
دوست عزيز معمولاً برنامههاي اسمبلي كه در حالت console يا همان Dos Prompt قديم اجرا ميشوند در حالت متني يا Text هستند. در اين حالت صفحه همانطور كه خودتان هم گفتيد به تعدادي سطر و ستون تقسيم ميشود و شما به باكسهايي كه ميتوانند يك كاراكتر را نمايش بدهند دسترسي داريد. بنابراين ترسيم خط صاف چندان معني ندارد و ميتوانيد يك خط پلهاي ترسيم كنيد.
براي ترسيم خط با استفاده از int 10 تابع AH=02h مكان نما Cursor را به سطرها و ستونهاي دلخواه متقل كنيد ( سطر DH= و ستون =DL و BH شماره صفحه كه آن را صفر كنيد) و سپس با تابع AH=09h كاراكتر O يا هر حرف ديگري را چاپ كنيد (al كد كاراكتري كه ميخواهيد چاپ كنيد مانند 'O' يا 4Fh و BH شماره صفحه كه آن را صفر كنيد و BL رنگ كه ميتوانيد از مقدار 1Fh استفاده كنيد و CX كه تعداد چاپ كاراكتر است كه بايد 1 باشد)
در مورد كد رنگ يك عدد 16 بيتي است كه 8 بيت اول زنگ نوشته و 8 بيت دوم رنگ زمينه است. عدد 1Fh يعني سفيد روشن روي آبي.
پس مطابق معادلهي خط شما يك حلقه ايجاد كنيد كه مختصات نقاط خط را در يك صفحهي 50 در 200 يا هر اندازه ديگر بدست آورد و با تابعهاي int 10 نقاط را چاپ ميكنيد تا خط رسم شود.
در ضمن ميتوانيد با ساير تابعهاي Int 10 صفحه را به حالت گرافيك ببريد و خطوط صاف و بيعيب گرافيكي بكشيد. در صورت علاقه ساير تابعهاي Int 10 را مطالعه كنيد.
با آرزوي موفقيت
سلام
دوست عزيز ميشه كدشا برام بنويسيد اخه چطور توي حلقه بذارم كه برام خط را بكش
با تشكر
با سلام؛
براي رسم يك خط بايد مراحل زير رو طي كنيد:
1- بدست آوردن شيب خط
2- نوشتن معادله خط
موارد گفته شده رو ميتونيد از لينكي كه مهدي جان گذاشته پيدا كنيد.
من چيزي كه ميخواستيد رو محاسبه كردم و كد رو براتون نوشتم:
mov ah, 00h
mov al, 13h
int 10h
mov si, 5 ; x
mov di, 5 ; y
mov bp, 0 ; step
mov cx, 200
khatkesh:
push cx
mov ah, 0ch
mov al, 04h
mov cx, si
mov dx, di
inc si
inc bp
cmp bp, 4
je add_y
next:
int 10h
pop cx
loop khatkesh
jmp exit
add_y:
inc di
mov bp, 0
jmp next
exit:
mov ax, 4c00h
int 21h
موفق باشيد.
سلام
ببخشید یه سوال داشتم
من می خوام برنامه ای بنویسم که دفعه اول خط 45 درج رسم کنه
دفعه دوم که اجرا می کنیم همین طور زاویه هاش تغییر کنه
مثلا دفعه اول 30
برای بار دوم که اجرا میشه
45
و همین طور تغییر کنه
لطفا زود کمکم کنید
یعنی اولین بار 45
دومین مثلا 30
سومین 60 و الی آخر
باید چه کنم
تابع داره
آخه چه طور هر بار این اجرا تغییر کنه
اگه میتونید کمک کنید
با سلام؛
براي رسم هر خط با شيب هايي كه دوست داريد بايد يك معادله خط داشته باشيد. براي نوشتن معادله خط مراحل رو طبق پست بالا طي كنيد و در نهايت معادله رو به كد اسمبلي تبديل كنيد.
كد هر معادله رو به صورت يك ماكرو يا پردازه دربياريد و هرجا كه دوست داشتيد ازشون استفاده كنيد.
موفق باشيد.
سلام من یک پروژه اسمبلی دارم با این محتوا
برنامه ای بنویسید که ابتدا مانیتور را پاک کند و سپس یک خط 45 درجه از نقطه x=140 و y=50 تا نقطه x=200 و y=100 به رنگ سبز رسم نماید سپس پیغام زیر را چاپ کند
"message : "the line was successfully drawn
خواهش میکنم کد این برنامه رو برام بنویسین :(((((
خیلی عجله دارم
لطفااااااا