ورود

View Full Version : شکل ماوس



j_naroogha@yahoo.com
پنج شنبه 03 آذر 1390, 03:33 صبح
سلام دوستان
از طریق برنامه زیر میخام شکل اشاره گر ماوس رو تغییر بدم. اما نتیجه دلخواه حاصل نمیشه. ممکنه کمکم کنید؟
fontarr label byte
;screen mask ---
db 00000000b
db 00000000b
db 00000000b
db 00000000b
db 00000000b
db 00000000b
db 00000000b
db 00000000b
;Curser Mask
db 11111111b
db 11111111b
db 11111111b
db 11111111b
db 11111111b
db 11111111b
db 11111111b
db 11111111b


data ends
code segment
assume ds:data,cs:code
main: mov ax,seg data
mov ds,ax
mov ah,0h
mov al,12h
int 10h

mov ax,0
int 33h
mov ax,1
int 33h

mov ax,09h
mov bx,4
mov cx,4
push ds
pop es
mov dx,offset fontarr
int 33h

mov ah,1
int 21h

mov ah,0h
mov al,03h
int 10h

mov ax,0
int 33h
mov ax,1
int 33h

mov al,0
mov ah,4ch
int 21h
code ends
end main

xman_1365_x
پنج شنبه 03 آذر 1390, 23:08 عصر
خوب در برنامه وقفه 33 و ax=09 را درست استفاده کردین و کرسر هم تغییر شکل میده ، الان مشکلتون چیه ؟ نتیجه دلخواهتون رو نگفتین!
ضمنا از وقفه 33 و ax=0 درست استفاده نکردین یعنی با خروجیش کاری نمیکنید پس لزومی به نوشتنش نیست مگر اینکه بخواین خروجس هاشو تست کنید که مثلا درایور موس نصب هست یا خیر
موفق باشی

j_naroogha@yahoo.com
شنبه 05 آذر 1390, 20:46 عصر
سلام
مرسی از جوابتون.برنامه بالا باید شکل ماوس رو به صورت مربع توپر در می آورد .که نمی آورد.
یه خورده جستجو کردم که متوجه شدم باید از 16 عدد کلمه برای screen Mask و Curser Mask استفاده کنم.
برای ax=0 و int 33 هم که فکر کنم باید هیشه قبل از کار با ماوس فراخوانیش کنی.(اگه اینطور نیست لطفا بهم بگین.)
برنامه اصلاح شده رو میزارم برای دوستان .شاید کسی به دردش خورد.

j_naroogha@yahoo.com
شنبه 05 آذر 1390, 20:47 عصر
data segment
fontarr label byte
;screen mask ---
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
;Curser Mask
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b
dw 1111111111111111b

data ends
code segment
assume ds:data,cs:code
main: mov ax,seg data
mov ds,ax
mov ah,0h
mov al,12h
int 10h

mov ax,0
int 33h
mov ax,1
int 33h

mov ax,09h
mov bx,4
mov cx,4
push ds
pop es
mov dx,offset fontarr
int 33h

mov ah,1
int 21h

mov ah,0h
mov al,03h
int 10h

mov ax,0
int 33h
mov ax,1
int 33h

mov al,0
mov ah,4ch
int 21h
code ends
end main