Не могу решить задачу. Помогите пожалуйста. Собственно задача: Изменить тип курсора в текстовом режиме при нажатии некоторой клавиши на клавиатуре. Задание формы курсора мыши в текстовом режиме: Вход: АХ = 000Ah BХ = тип курсора 0 – программный 1 - аппаратный СХ= маска экрана, если ВХ=0 СХ= начальная строка курсора мыши, если ВХ=1 DХ= маска курсора, если ВХ=0 DХ= конечная строка курсора мыши, если ВХ=1 Код (Text): %Title "Mouse" IDEAL MODEL Small DATASEG CODESEG Start: ; посылаем начальный адрес сегмента в регистр ax mov ax, @data mov ds, ax mov ax, 12h int 10h ;инициализация мыши mov ax, 0 int 33h ;сделать указатель видимым mov ax, 1 int 33h escape: ;ждать esc mov ah, 7 int 21h ;прерывание для работы с клавиатурой cmp al, 6dh ;проверка на нажатие клавиши "1" jne waiting mov ax, 0ah ;задать форму курсора mov bx, 0h ;тип программный mov cx, 0h ;маска ввода mov dh, 0fh ;маска курсора mov dl, 7fh int 33h ; mov ax, 04h ;перемещение курсора в угол ; mov cx, 0 ; mov dx, 0 ; int 33h waiting: cmp al, 27 jne escape mov ax, 2 ;выключить курсор int 33h mov ax, 04c00h int 21h ;выход END Start Собственно проблема, курсор не меняется. Запускал в ВинХП. И что такое маска ввода и маска курсора? Как правильно задать?
D_odik Если экранная маска = 0, то для любого символа курсор будет один и тот же (символ 0x7f, цвет белый). Попробуйте поиграться разными значениями маски курсора и экранной маски. Еще один вариант - сделать курсор видимым после его изменения.
D_odik ты где тестишь? попробуй на реальной тачке или в bosch. Видимо не эмулирует это windows. Была такая же проблема с получение типо IBM PC, по адресу 0x00F:FFFE помоему, лежали нули вместо идентефикаторов. в bosch все нормально было.