IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

 
 Ответить  Открыть новую тему 
> Маска для мыша
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 53
Пол: Мужской
Реальное имя: Веселовский Пётр Николаевич

Репутация: -  0  +


Вообщем такая вещь - хочу сделать курсор мышке с помощью маски, но не знаю как её нарисовать. Мне нужно, чтобы от курсора остался только 1 черный пиксель (тот который кончик указателя). Чёто написал, но вместо точки выводится какаято 'мочалка' mad.gif
.model tiny
.data
cmask db 0fh,0fh,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
,00,00,00,00,00
.code
org 100h
start:
mov ax,13h;13h 320x200 256
int 10h
push 0a000h
pop es
call refresh

xor si,si
mov cx,5
ccycle:
push cx
mov ax,320
dec cx
mul cx
mov si,ax
mov cx,0ffh
cycle:
mov es:[si],cl
inc si
loop cycle
pop cx
loop ccycle
;Мышь:
xor ax,ax
int 33h
push ds ;ES:DX -
pop es ;адрес маски
mov dx,offset cmask;(или я не прав?)
mov ax,09h
int 33h
mov ax,01h
int 33h
;мышь загружена
xor ax,ax
int 16h
pop dx
mov ax,03h
int 10h
mov ax,4ch
int 21h
ret

refresh proc;Обновление экрана
mov ax,0f0fh
xor di,di
mov cx,64000
rep stosw
ret
refresh endp

pointprc proc;Процедура рисованя точки
push si
mov ax,320
mul si
mov si,ax
add si,bx
mov byte ptr es:[si],31h
pop si
ret
pointprc endp
end start


Сообщение отредактировано: volvo -


--------------------
Money, hoes, cars and clothes
That's how all my niggaz know
Blowin dro, 24's
That's how all my niggaz roll...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 408
Пол: Мужской

Репутация: -  3  +


Ошибка здесь
Код

0fh,0fh,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,

00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00



первые 32 бита - маска (ее лучше либо обнулить либо ff)
вторые - рисунок
рисунок - 64*64
каждый !бит! - это точка
т.е. 0f - это 15 точек
а комбинация 0f 0f - 15 точек черного 15 белого потом 15 точек черного 15 белого
лучше уж так

Код

cmask db
0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,

0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,

1h,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

//понятно что это все в одной строке ;)

Сообщение отредактировано: Dark -


--------------------
- Где я?
- Во тьме.
- В какой тьме?
- Во тьме твоего мозга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 53
Пол: Мужской
Реальное имя: Веселовский Пётр Николаевич

Репутация: -  0  +


Спасибо! good.gif


--------------------
Money, hoes, cars and clothes
That's how all my niggaz know
Blowin dro, 24's
That's how all my niggaz roll...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 53
Пол: Мужской
Реальное имя: Веселовский Пётр Николаевич

Репутация: -  0  +


Еще один вопрос по мышке:
AX=0Сh
int 33h
установить одработчик для мышу.
xor ax,ax
int 33h
push ds
pop es
mov dx,offset cmask
mov ax,09h
int 33h
mov ax,01h
int 33h

mov ax,0ch
mov cx,10b
push cs
pop es
mov dx,offset mouse
...
readkey:
xor ax,ax
int 16h
...
mouse proc

ret
mouse endp

По идее должна при нажатии левой кнопки мыши выполнять mouse proc, но она вылетает sad.gif если в mouse proc написать jmp readkey, то указатель мышки после нажатия зависает на месте. Подскажите - как быть - с мышой работаю впервые?

Сообщение отредактировано: volvo -


--------------------
Money, hoes, cars and clothes
That's how all my niggaz know
Blowin dro, 24's
That's how all my niggaz roll...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.12.2024 19:49
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name