ورود

View Full Version : مشکل در چاپ رشته زمانی که از وقفه ی گرافیک استفاده میشه



one hacker alone
دوشنبه 04 شهریور 1392, 02:37 صبح
سلام
من با دستور زیر قسمتی از صفحه رو رنگ میکنم


mov ah,6h
mov al,25
mov ch,0
mov cl,0
mov dh,2
mov dl,79
mov bh,10111b
int 10h


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


Print:
lodsb
or al, al
jz PrintDone
mov ah, 0eh
int 10h
jmp Print
PrintDone:

البته این تابع رو بعد از دستورات سری اول که برای رنگ کردن صفحه هست فراخوانی میکنم
mov si,Msg
call Print
که خود msg هم به شکل زیر هست
Msg db "WellCome To program",13,10,0
حالا نمیدونم چرا چاپ نمیکنه
اصلا من چجوری میتونم مکان نمار و به نقطه ی خاصی از صفحه انتقال بدم و رشته رو اونجا چاپ کنم؟

FastCode
دوشنبه 04 شهریور 1392, 14:44 عصر
فکر میکنم یک مقدار از سوالاتتون در اینجا جواب داده شده:
http://f.osdev.org/viewtopic.php?f=1&p=226506

پ.ن:من همونقدر اسمبلی بلدم که ترکی بلدم(فقط میفهمم;بلد نیستم بنویسم)

darknes666
دوشنبه 04 شهریور 1392, 22:15 عصر
برای رنگ کردن بک گراند :چشمک: از سرویس 6 اینتراپت 10h استفاده میشه.

من برنامه رو پیاده کردم و فکر میکنم تو masm,yasm,emu8086 جواب بده.

DATA SEGMENT
MSG DB "HEYYUUU DUDEEEEE $"
ENDS
STACK SEGMENT
DW 128H DUP(0)
ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
;BEGIN
MOV AH,6H
MOV AL,25
MOV BH,45
MOV CH,0
MOV CL,0
MOV DH,22
MOV DL,35
INT 10H

MOV AH,2
MOV DH,8H
MOV DL,8H
MOV BH,0
INT 10H

LEA DX,MSG
MOV AH,9H
INT 21H


MOV AH,1
INT 21H
;END OF PART _2
;END
MOV AX, 4C00H ; EXIT OS
INT 21H
END
END START

اینم نتیجش

http://8pic.ir/images/09016856897980288917.png

one hacker alone
شنبه 09 شهریور 1392, 13:41 عصر
ممنون مشکل با مفهوم ساختار attribute در مقدار ثبات BH حل شد.
فقط مشکلی که هست اینه که بعد از چاپ هر رشته مکان نما به خط بعد انتر میخوره و همین باعث میشه محیط یه سطر به پایین بلغزه