Как отключить VGA курсор в длинном режиме - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь написать игру (без ОС, просто загрузиться в игру) в сборке в длинном режиме. Университет предоставляет ядро ​​для игры, которое переключает процессор в режим long, поэтому я не могу использовать int 0x10. Сейчас я тестирую некоторые вещи, но я не могу изменить ни один из регистров карты VGA (в bochs). Вот что я пытался отключить курсор:

// set dx to index register
movw $0x3b4, %dx
// set index to 0x0a for cursor start register
movb $0x0a, %al
outb %dx

// set rax to zero
xorq %rax, %rax

// write value
movw $0x3b5, %dx
// set cursor start register to 0b00000000 to disable cursor
movb $0x00, %al
outb %dx

Но, похоже, это не работает. Ничего не меняетсяЧто-то не так с выходной командой? Как я могу изменить регистры VGA без INT 0x10?

...