Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2010, 23:35   #1
JeyKip
Форумчанин
 
Регистрация: 18.09.2009
Сообщений: 133
По умолчанию Замена курсора мышки в графическом режиме

Добрый вечер..!! Приведите, пожалуйста, пример, в котором используется функция 09h прерывания 33h...везде, где натыкался на нее, описан только синтаксис...наиболее не понятно с масками...!!! Помогите, кто знает..
JeyKip вне форума Ответить с цитированием
Старый 30.10.2010, 21:14   #2
JeyKip
Форумчанин
 
Регистрация: 18.09.2009
Сообщений: 133
По умолчанию

Всем привет!! вот привожу реализацию, как я ее понял...но функция замены курсора тупо игнорируется...что делаю не так..?

;определение маски для изображения
mas_1 db 0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah ,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0A h,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0 Ah,0Ah,0Ah,0Ah,0Ah,0Ah
db 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 ,5,5,5,5,5,5,5,5,5,5,5,5,5,5

;переход в графический режим
mov ax,0013h
int 10h
mov ax,0000h
int 33h

;настройка es на ds
push ds
pop es

;собственно замена курсора, с которой проблема
;должна произойти до отображения курсора
mov ah,0009h
mov bx,0
mov cx,0
lea es : dx,mas_1
int 33h

;включить курсор
mov ax,0001h
int 33h

и, в общем, ничего не происходит...появляется курсор стандартного вида..
JeyKip вне форума Ответить с цитированием
Старый 30.10.2010, 22:07   #3
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Проблема скорее всего в том что вместо mov ax,0009h стоит mov AL,0009h. У меня так пашет тока в путь:
Код:
.model tiny
.code
.startup

;переход в графический режим
mov ax,0013h
int 10h

;инициализировать мышь
xor ax,ax
int 33h

;включить курсор. Пока стандартный.
mov ax,0001h
int 33h

;установим позицию курсора
mov dh,1
mov dl,1
call SetPos

;печатаем сообщение
mov bl,10		;Цвет
mov si,offset mes	;Выводим текст
call OutText

;ждем нажатия любой клавиши
xor ah,ah
int 16h

;настройка es на ds
push ds
pop es

;собственно замена курсора, с которой проблема
;должна произойти до отображения курсора
mov ax,0009h
mov bx,0
mov cx,0
lea dx,mas_1
int 33h

mov dh,2
mov dl,1
call SetPos

;печатаем сообщение
mov bl,10		;Цвет
mov si,offset mes2	;Выводим текст
call OutText

;ждем нажатия коавиши
xor ah,ah
int 16h

;текстовый режим
mov ax,3
int 10h

;выходим нах
int 20h

;подпрограмма установки позиции курсора
SetPos:
		mov ah,2
		xor bh,bh
		int 10h
		ret

;подпрограмма вывода текста
OutText:
		lodsb
		test al,al
		jz done
		mov ah,0eh
		xor bh,bh
		int 10h
		jmp SHORT OutText
done:		ret

;определение маски для изображения
mas_1:
     dw 1011111111111111b
     dw 1001111111111111b
     dw 1000111111111111b
     dw 1000011111111111b
     dw 1000001111111111b
     dw 1000000111111111b
     dw 1000000011111111b
     dw 1000000001111111b
     dw 1000000000111111b
     dw 1000000000011111b
     dw 1000000111111111b
     dw 1000000011111111b
     dw 1011000011111111b
     dw 1111100001111111b
     dw 1111100001111111b
     dw 1111110001111111b

     dw 0100000000000000b
     dw 0110000000000000b
     dw 0101000000000000b
     dw 0100100000000000b
     dw 0100010000000000b
     dw 0100001000000000b
     dw 0100000100000000b
     dw 0100000010000000b
     dw 0100000001000000b
     dw 0100000111100000b
     dw 0100111000000000b
     dw 0111100100000000b
     dw 0100100100000000b
     dw 0000010010000000b
     dw 0000010010000000b
     dw 0000001110000000b
mes:
     db 'NORMAL mouse. Press any key...',0
mes2:
     db 'OS/2 mouse. Press any key...',0
END
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закорючки в графическом режиме _-Re@l-_ Паскаль, Turbo Pascal, PascalABC.NET 4 20.08.2010 10:27
текст в графическом режиме... hasana Паскаль, Turbo Pascal, PascalABC.NET 7 18.05.2010 15:58
Бегущая строка в графическом режиме Си bz175 Помощь студентам 0 10.05.2010 15:27
«Работа в графическом режиме» Антонова Евгения Паскаль, Turbo Pascal, PascalABC.NET 3 27.04.2010 10:33
Работа в графическом режиме adgam Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 23.04.2010 17:56