Я пытаюсь написать игру (без ОС, просто загрузиться в игру) в сборке в длинном режиме. Университет предоставляет ядро для игры, которое переключает процессор в режим 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?